﻿/* -------------------------------------------------------------------------- */
/* 1. TEMEL HTML, BODY VE ARKAPLAN YAPISI                                     */
/* -------------------------------------------------------------------------- */
html,
body:not(.MSRS-RVC *) { /* Varsayılan baz boyut. Skin devreye girince bu ezilir. */ font-size: 13px; height: 100%; min-height: 100vh; margin: 0; padding: 0; color: #000; }

body.body-menu,
body.body-nomenu { background-color: #f4f6f9 !important; background-image: url('/public/bg-page.svg') !important; background-repeat: no-repeat !important; background-position: center bottom !important; background-size: cover !important; background-attachment: fixed !important; }

/* Giriş (NoMenu) tekli görünüm: tema renkli görsel panel + beyaz form sütunu */
.giris-gorsel { position: relative; color: #fff; background-color: var(--theme-secondary); }
    .giris-gorsel::after { content: ""; position: absolute; z-index: 2; top: 0; left: -2px; width: 10%; height: 100%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 1000' preserveAspectRatio='none'%3E%3Cpath d='M0 0H45C25 300 28 600 70 1000H0Z' fill='%23fff'/%3E%3C/svg%3E") no-repeat left / 100% 100%; }
    .giris-gorsel > *:not(.giris-gorsel-resimler) { position: relative; z-index: 1; margin-left: 8%; } /* Sol dalga kenarı içeriğin üstüne binmesin */
/* Görsel panel resimleri (public/giris-gorsel/*.jpg): tema rengine boyanır, aktif olan yumuşakça belirir */
.giris-gorsel-resimler { position: absolute; inset: 0; overflow: hidden; }
    .giris-gorsel-resimler::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(ellipse 70% 55% at 100% 100%, color-mix(in srgb, var(--theme-secondary) 75%, transparent), transparent), linear-gradient(160deg, color-mix(in srgb, var(--theme-secondary) 55%, transparent), color-mix(in srgb, var(--theme-primary) 35%, transparent)); } /* Sağ alttaki koyu katman yazılım adını okunur kılar */
.giris-gorsel-resim { position: absolute; inset: 0; background-color: var(--theme-secondary); background-size: cover; background-position: center; background-blend-mode: luminosity; opacity: 0; transition: opacity 1.6s ease; }
    /* Ken Burns: görünen resim 12 sn boyunca yavaşça yakınlaşır; çıkan resim (cikiyor) JS ile o anki ölçeğinde sabitlenip söner */
    .giris-gorsel-resim.aktif { animation: giris-gorsel-yakinlas 14s ease-out forwards; }
    .giris-gorsel-resim.aktif { opacity: 1; }
    .giris-gorsel-resim:nth-child(3n+1) { transform-origin: 70% 30%; }
    .giris-gorsel-resim:nth-child(3n+2) { transform-origin: 30% 70%; }
    .giris-gorsel-resim:nth-child(3n) { transform-origin: 50% 50%; }
@keyframes giris-gorsel-yakinlas {
    from { transform: scale(1); }
    to { transform: scale(1.15); }
}
@media (prefers-reduced-motion: reduce) {
    .giris-gorsel-resim.aktif { animation: none; }
}
/* Mobil (lg altı): görsel panel tüm ekranın zemini olur, form beyaz kart içinde üstünde durur */
@media (max-width: 991.98px) {
    .giris-bolunmus { position: relative; justify-content: center; padding: 2rem 0.75rem; }
    .giris-gorsel { position: absolute; inset: 0; padding: 0 !important; }
        .giris-gorsel::after { content: none; }
    .giris-bolunmus > div:not(.giris-gorsel) { position: relative; z-index: 1; flex-grow: 0 !important; width: 100%; max-width: 34rem; margin: 0 auto; border-radius: 1rem; box-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.25); }
        .giris-bolunmus > div:not(.giris-gorsel) > div { width: 100%; padding-left: 0.75rem; padding-right: 0.75rem; } /* Kart dar olduğu için iç sütun yüzdeleri (col-md-7 vb.) kartın tamamını kullanır */
}
.giris-gorsel-logo { height: 44px; width: auto; }
.giris-header-logo { height: 20px; width: auto; }
/* Yazılım seçme rozetleri: diğerleri soluk ve küçük, seçili tam renkli ince halkalı */
.giris-rozet { width: 2em; height: 2em; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0.6; filter: saturate(0.6); transition: opacity 0.2s ease, filter 0.2s ease, transform 0.2s ease; }
    .giris-rozet img { height: 1em; width: auto; display: block; }
    a:hover > .giris-rozet { opacity: 0.9; filter: none; transform: translateY(-1px); }
    .giris-rozet.secili { opacity: 1; filter: none; box-shadow: 0 0 0 2px #fff, 0 0 0 3px currentColor; }
.giris-logo-rozet { width: 84px; height: 84px; }
    .giris-logo-rozet.theme-bg-primary { filter: none; } /* Renk orta ton olduğu için soluklaştırılmaz */
    .giris-logo-rozet img { height: 48px; width: auto; transition: transform 0.3s ease; }
    .giris-logo-rozet:hover img { transform: scale(1.08) rotate(-6deg); }
/* Logo rozetinin çevresinden tema renginde ince tek halka yavaşça yayılır (5 sn'de bir) */
.giris-logo-rozet { position: relative; }
    .giris-logo-rozet::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--theme-primary); opacity: 0; pointer-events: none; animation: giris-logo-halka 5s ease-out infinite; }
@keyframes giris-logo-halka {
    0% { transform: scale(1); opacity: 0.45; }
    55%, 100% { transform: scale(1.35); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .giris-logo-rozet::before { animation: none; }
}
.giris-tema-yazi { color: var(--theme-secondary); }
.giris-form .login-validator { color: #dc3545 !important; background-color: rgba(220, 53, 69, 0.1); }
/* Giriş formunun ana butonu (GİRİŞ YAP): Telerik skin yerine tema ana renginde (tbl_Yazilim.Renk) dolu */
.RadButton.giris-ana-buton, a.giris-ana-buton { background: var(--theme-primary) !important; border: 1px solid var(--theme-primary) !important; color: var(--theme-text-on-primary) !important; border-radius: 0.4em !important; transition: filter 0.15s ease; }
    .RadButton.giris-ana-buton:hover, .RadButton.giris-ana-buton:focus, a.giris-ana-buton:hover, a.giris-ana-buton:focus { filter: brightness(0.9); }
    .RadButton.giris-ana-buton .rbText, .RadButton.giris-ana-buton i { color: inherit !important; }
/* e-Devlet ile giriş butonu (adu:ButtonEDevletGiris): ikincil görünüm, kırmızı yalnızca logo rozetinde; çerçeve üzerine gelince kırmızılaşır */
.edevlet-buton { display: flex; align-items: center; gap: 0.7em; width: 100%; text-align: left; padding: 0.45em 0.8em; border: 1px solid #dee2e6; border-radius: 0.4em; background-color: #fff; color: #495057 !important; text-decoration: none; transition: border-color 0.15s ease, background-color 0.15s ease; }
    .edevlet-buton:hover { border-color: rgba(227, 10, 23, 0.5); background-color: #fff8f8; }
.edevlet-logo { width: 1.6em; height: 1.6em; border-radius: 0.3em; background-color: #e30a17; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .edevlet-logo img { height: 0.95em; width: auto; display: block; }
.edevlet-ad { color: #e30a17; }
/* Tek seferlik giriş bilgilendirmesi 6 sn sonra kaybolur ve yer kaplamaz */
.giris-uyari-kapan { overflow: hidden; max-height: 20em; padding: 1rem; margin-bottom: 0.5rem; animation: giris-uyari-kapan 0.6s ease 6s forwards; }
@keyframes giris-uyari-kapan {
    to { opacity: 0; max-height: 0; padding-top: 0; padding-bottom: 0; margin-bottom: 0; }
}
/* Giriş formunun altındaki "veya" ayracı ve diğer işlemler bağlantı listesi */
.giris-ayrac { display: flex; align-items: center; gap: 0.75em; }
    .giris-ayrac::before, .giris-ayrac::after { content: ""; flex: 1; border-top: 1px solid #dee2e6; }
.giris-islem { display: flex; align-items: center; gap: 0.7em; padding: 0.45em 0.8em; margin-bottom: 0.5em; border: 1px solid #dee2e6; border-radius: 0.4em; background-color: #fff; color: #495057 !important; text-decoration: none; transition: border-color 0.15s ease, background-color 0.15s ease; }
    .giris-islem:hover { border-color: color-mix(in srgb, var(--theme-primary) 50%, transparent); background-color: color-mix(in srgb, var(--theme-primary) 5%, #fff); }
    /* İkon, e-Devlet logosu gibi tema renkli kare rozette */
    .giris-islem > .fa-fw:first-child { width: 1.6em; height: 1.6em; border-radius: 0.3em; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1em; background-color: color-mix(in srgb, var(--theme-primary) 12%, #fff); color: var(--theme-primary); }

/* ReportViewer Reset */
.MSRS-RVC *,
.MSRS-RVC table,
.MSRS-RVC div { line-height: normal !important; }

body:nth-of-type(1) img[src*="Blank.gif"] { display: none; }

/* -------------------------------------------------------------------------- */
/* 2. TELERIK SKIN FONT-SIZE AYARLARI (PX SADECE BURADA İZİNLİ)               */
/* -------------------------------------------------------------------------- */
/* Bu bölüm "Ankraj" noktasıdır. Diğer her şey buradaki px değerine göre oranlanır. */

body.Skin-MetroTouch, body.Skin-BlackMetroTouch { font-size: 15px !important; }
body.Skin-Bootstrap, body.Skin-Material, body.Skin-MaterialBlack, body.Skin-MaterialTeal, body.Skin-Fluent, body.Skin-FluentDark { font-size: 14px !important; }
body.Skin-Silk, body.Skin-Glow, body.Skin-Metro, body.Skin-Office2010Blue, body.Skin-Office2010Silver, body.Skin-Office2010Black { font-size: 12px !important; }
body.Skin-Default, body.Skin-Outlook, body.Skin-Windows7, body.Skin-Vista, body.Skin-WebBlue, body.Skin-Web20, body.Skin-Sunset, body.Skin-Telerik, body.Skin-Forest, body.Skin-Hay, body.Skin-Office2007, body.Skin-Black { font-size: 12px !important; }

/* -------------------------------------------------------------------------- */
/* 3. YARDIMCI SINIFLAR (UTILITIES - ORANSAL)                                 */
/* -------------------------------------------------------------------------- */
/* Boyutlandırma (Tamamen % bazlı) */
.xx-large { font-size: 350% !important; letter-spacing: 0.5em; }
/* 500% çok büyüktü, oranladım */
.x-large { font-size: 150% !important; }
.large { font-size: 125% !important; }
.medium { font-size: 110% !important; }
.normal { font-size: 100% !important; }
.small { font-size: 90% !important; }
.x-small { font-size: 80% !important; }

/* Biçimlendirme */
.bold { font-weight: bold !important; }
.italic { font-style: italic !important; }
.underline { text-decoration: underline !important; }
.no-underline { text-decoration: none !important; }
.nowrap { white-space: nowrap; }

/* Hizalama */
.text-inherit { color: inherit !important; }
.left-text { text-align: left !important; }
.center-text { text-align: center !important; }
.right-text { text-align: right !important; }

/* Renkler */
.light, .light a { color: #ffffff !important; text-decoration: none; }
.white { color: #ffffff !important; }
.dark { color: #000000 !important; }
.grey { color: #666666 !important; }
.red { color: #ff0000 !important; }
.blueLink { color: #0000cc !important; }

/* Arka Planlar */
.bg-White { background-color: #fff !important; }
.bg-Light { background-color: #f8f9fa !important; color: #333 !important; border: 1px solid #dee2e6; }
.hover-row:hover { background-color: #ebedf0 !important; transition: background-color 0.15s ease; }
/* Kart listelerinde çift satır (Container.DisplayIndex tek/çift): vurgu renginin çok açık tonu */
.card.kart-cift { background-color: color-mix(in srgb, var(--vurgu) 5%, #fff); }
/* Hassas veri (Module.Kontrol > HassasVeri): tıklayınca açılan maskeli değer */
.hassas-veri { cursor: pointer; border-bottom: 1px dotted var(--bs-secondary-color); white-space: nowrap; }
    .hassas-veri:hover, .hassas-veri:focus-visible { border-bottom-color: var(--vurgu); outline: none; }
    .hassas-veri:hover i, .hassas-veri:focus-visible i { color: var(--vurgu); opacity: 1 !important; }

/* Tema Renkleri */
.theme-bg-secondary { background-color: var(--theme-secondary) !important; color: var(--theme-text-on-secondary) !important; filter: saturate(0.7); }
.theme-bg-primary { background: var(--theme-primary); color: var(--theme-text-on-primary) !important; filter: saturate(0.7); }
    .theme-bg-primary a, .theme-bg-secondary a { color: inherit !important; }
        .theme-bg-primary a:hover, .theme-bg-secondary a:hover { opacity: 0.8; }

/* Skin vurgu rengi (--vurgu, Menu.Master) ile Bootstrap primary yerine kullanılan yardımcılar */
.text-vurgu { color: var(--vurgu) !important; }
.border-vurgu { border-color: var(--vurgu) !important; }
.bg-vurgu { background-color: var(--vurgu) !important; color: var(--vurgu-x) !important; }
.badge-vurgu-acik { background-color: color-mix(in srgb, var(--vurgu) 10%, #fff) !important; color: var(--vurgu) !important; border: 1px solid color-mix(in srgb, var(--vurgu) 30%, #fff) !important; }
.nav-vurgu { --bs-nav-link-color: var(--bs-secondary-color); --bs-nav-link-hover-color: var(--vurgu); --bs-nav-underline-link-active-color: var(--vurgu); }
/* Telerik'siz buton: skinin durum renkleri (tbl_TemaDetay → Menu.Master --tema-<durum>-<zemin|yazi|kenar>); Varsayilan / Hover / Secili (basılı) / Pasif / Odak. Tanımsızsa vurgu rengi */
.btn-tema { --bs-btn-color: var(--tema-varsayilan-yazi, var(--vurgu-x)); --bs-btn-bg: var(--tema-varsayilan-zemin, var(--vurgu)); --bs-btn-border-color: var(--tema-varsayilan-kenar, color-mix(in srgb, var(--vurgu) 80%, #000)); --bs-btn-hover-color: var(--tema-hover-yazi, var(--vurgu-x)); --bs-btn-hover-bg: var(--tema-hover-zemin, color-mix(in srgb, var(--vurgu) 85%, #000)); --bs-btn-hover-border-color: var(--tema-hover-kenar, color-mix(in srgb, var(--vurgu) 70%, #000)); --bs-btn-active-color: var(--tema-secili-yazi, var(--vurgu-x)); --bs-btn-active-bg: var(--tema-secili-zemin, color-mix(in srgb, var(--vurgu) 75%, #000)); --bs-btn-active-border-color: var(--tema-secili-kenar, color-mix(in srgb, var(--vurgu) 65%, #000)); --bs-btn-disabled-color: var(--tema-pasif-yazi, var(--tema-varsayilan-yazi, var(--vurgu-x))); --bs-btn-disabled-bg: var(--tema-varsayilan-zemin, var(--vurgu)); --bs-btn-disabled-border-color: var(--tema-varsayilan-kenar, var(--vurgu)); }
    .btn-tema:focus-visible { box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tema-odak-kenar, var(--vurgu)) 35%, transparent); }
/* Turuncu (Orange) için özel Bootstrap değişkenleri */
.bg-orange { background-color: #fd7e14 !important; }
    /* Saydamlığı doğrudan rgba ile ezerek garantiliyoruz */
    .bg-orange.bg-opacity-10 { background-color: rgba(253, 126, 20, 0.15) !important; }

.text-orange { color: #fd7e14 !important; }
.border-orange { border-color: #fd7e14 !important; }

/* Mor (Purple) için özel Bootstrap değişkenleri */
.bg-purple { --bs-bg-opacity: 1; background-color: rgba(111, 66, 193, var(--bs-bg-opacity)) !important; }
.text-purple { color: #6F42C1 !important; }
.border-purple { border-color: #6F42C1 !important; }

/* -------------------------------------------------------------------------- */
/* 4. FONT AWESOME ENTEGRASYONU                                               */
/* -------------------------------------------------------------------------- */
.fa, .fa-solid, .fa-regular, .fa-light, .fa-thin, .fa-duotone, .fa-brands, [class^="fa-"], [class*=" fa-"] { font-family: "Font Awesome 7 Free", "Font Awesome 7 Brands" !important; font-weight: 900 !important; font-style: normal !important; font-variant: normal !important; text-rendering: auto; line-height: 1 !important; }
/* Regular (içi boş) ve Brands fontlarında yalnızca 400 ağırlık var; 900 verilirse regular ikonlar dolu görünür */
.fa-regular { font-weight: 400 !important; }
.fa-brands { font-family: "Font Awesome 7 Brands" !important; font-weight: 400 !important; }

/* -------------------------------------------------------------------------- */
/* 5. MENÜ VE TOOLBAR YAPISI                                                  */
/* -------------------------------------------------------------------------- */
/* Araç çubuğu (Menu.Master): Bootstrap dropdown + ikon butonları; vurgu rengi skinden (--vurgu) */
.arac-cubuk { min-height: 2.75rem; }
    .arac-cubuk .tb { display: inline-flex; align-items: center; gap: 0.45rem; border: 0; background: none; color: var(--bs-body-color); padding: 0.4rem 0.55rem; border-radius: 0.4rem; font-size: 0.875rem; white-space: nowrap; text-decoration: none; }
        .arac-cubuk a.tb:hover, .arac-cubuk button.tb:hover, .arac-cubuk .tb[aria-expanded="true"] { background: color-mix(in srgb, var(--vurgu) 9%, transparent); color: var(--vurgu); }
        .arac-cubuk .tb > i { font-size: 1.05rem; width: 1.15rem; text-align: center; }
        .arac-cubuk .tb.dropdown-toggle::after { margin-left: 0.15rem; opacity: 0.5; }
    .arac-cubuk .tb-etiket { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; }
    .arac-cubuk .vr { align-self: center; height: 1.4rem; margin: 0 0.3rem; }
    .arac-cubuk .tb-cikis > i { color: #dc3545; }
    .arac-cubuk .fa-palette { background: linear-gradient(135deg, #FF0055, #FF5500, #FFCC00); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .arac-cubuk .dropdown-menu { --bs-dropdown-link-active-bg: color-mix(in srgb, var(--vurgu) 12%, #fff); --bs-dropdown-link-active-color: var(--vurgu); font-size: 0.875rem; max-height: 70vh; overflow-y: auto; }
    .arac-cubuk .dropdown-item { display: flex; align-items: center; gap: 0.6rem; }
        .arac-cubuk .dropdown-item > i:first-child { width: 1rem; text-align: center; color: var(--bs-secondary-color); }
        .arac-cubuk .dropdown-item.active { font-weight: 600; }
            .arac-cubuk .dropdown-item.active > i:first-child { color: var(--vurgu); }
        .arac-cubuk .dropdown-item .fa-check { margin-left: auto; color: var(--vurgu); }
.arac-cubuk .dropdown-baslik { display: flex; align-items: center; padding-right: 0.75rem; }
    .arac-cubuk .dropdown-baslik .dropdown-header { flex-grow: 1; }
    .arac-cubuk .dropdown-baslik .btn-close { font-size: 0.75rem; }
.yazilim-logo { width: 1.35rem; height: 1.35rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background-color: #6c757d; }
    .yazilim-logo img { height: 0.8rem; width: auto; display: block; }
.tema-renk { display: inline-flex; border-radius: 0.25rem; overflow: hidden; border: 1px solid rgba(0,0,0,.15); }
    .tema-renk span { width: 0.55rem; height: 1rem; }
@media (max-width: 575.98px) {
    .arac-cubuk { overflow-x: auto; }
        .arac-cubuk .tb { padding: 0.4rem; gap: 0.3rem; }
            .arac-cubuk .tb.dropdown-toggle::after { display: none; }
        .arac-cubuk .dropdown-menu { position: fixed !important; inset: 3.25rem 0.5rem auto 0.5rem !important; transform: none !important; }
}

/* Kenar menüsü (Menu.Master): masaüstünde solda sabit, 992px altında ☰ ile soldan açılan Bootstrap offcanvas.
   Renkler skinden (tbl_Tema) hesaplanıp dynamic CSS'e yazılır: --vurgu, --vurgu-x, --menu-zemin; koyu skinde data-bs-theme="dark" */
:root { --vurgu: #3071A9; --vurgu-x: #fff; --menu-zemin: #fff; --menu-genislik: 17.5rem; }
.menu-icerik { min-width: 0; }
/* Sayfa içeriği menüye bitişik beyaz alan: tepede tek satır küçük kategori + sayfa adı, altında vurgu renginde ince çizgi */
.sayfa-kart { background-color: #fff; }
.sayfa-baslik { border-bottom: 2px solid var(--vurgu); }
    .sayfa-baslik .sayfa-baslik-ust { font-size: 0.8rem; color: var(--bs-secondary-color); }
    .sayfa-baslik .sayfa-baslik-ad { font-size: 1rem; font-weight: 500; }
.menu-kenar { --bs-offcanvas-width: var(--menu-genislik); --bs-offcanvas-bg: var(--menu-zemin); background-color: var(--menu-zemin) !important; color: var(--bs-body-color); }
@media (min-width: 992px) {
    .menu-kenar { width: var(--menu-genislik); flex-shrink: 0; border-right: 1px solid var(--bs-border-color); position: sticky; top: 0; height: 100vh; transition: margin-left 0.2s ease; }
    .menu-kenar.kapali { margin-left: calc(-1 * var(--menu-genislik)); visibility: hidden; }
}
.menu-kenar .menu-yazilim { color: var(--vurgu); }
.menu-kenar .form-control, .menu-kenar .input-group-text { background-color: color-mix(in srgb, var(--menu-zemin) 88%, var(--bs-body-color)); }
.menu-liste { overflow-y: auto; }
.menu-kategori { display: flex; align-items: center; gap: 0.6rem; width: 100%; padding: 0.5rem 0.9rem; border: 0; border-left: 3px solid transparent; background: none; color: var(--bs-body-color); text-align: left; }
    .menu-kategori:hover { background: color-mix(in srgb, var(--vurgu) 6%, transparent); }
    .menu-kategori .menu-ikon { width: 1.25rem; display: inline-flex; justify-content: center; flex-shrink: 0; font-size: 1rem; color: var(--bs-secondary-color); transition: color 0.15s ease; }
    .menu-kategori:hover .menu-ikon { color: var(--vurgu); }
    .menu-kategori .menu-ok { margin-left: auto; font-size: 0.7rem; color: var(--bs-secondary-color); transition: transform 0.2s ease; }
    .menu-kategori:not(.collapsed) { border-left-color: var(--vurgu); background: color-mix(in srgb, var(--vurgu) 6%, transparent); color: var(--vurgu); font-weight: 600; }
        .menu-kategori:not(.collapsed) .menu-ikon { color: var(--vurgu); }
        .menu-kategori:not(.collapsed) .menu-ok { transform: rotate(90deg); color: var(--vurgu); }
.menu-alt { list-style: none; margin: 0; padding: 0.15rem 0 0.4rem 0; }
    .menu-alt a { display: flex; align-items: center; gap: 0.55rem; padding: 0.38rem 0.9rem 0.38rem 2.85rem; color: var(--bs-body-color); opacity: 0.85; text-decoration: none; border-left: 3px solid transparent; }
        .menu-alt a i { width: 1rem; text-align: center; font-size: 0.75rem; color: var(--bs-secondary-color); }
        .menu-alt a:hover { background: color-mix(in srgb, var(--vurgu) 6%, transparent); color: var(--vurgu); opacity: 1; }
        .menu-alt a.aktif { border-left-color: var(--vurgu); background: color-mix(in srgb, var(--vurgu) 14%, transparent); color: var(--vurgu); font-weight: 600; opacity: 1; }
            .menu-alt a.aktif i { color: var(--vurgu); }
    .menu-alt mark { padding: 0; background: #fff3a0; color: #000; }
@media (max-width: 991.98px) { .menu-kategori, .menu-alt a { padding-top: 0.7rem; padding-bottom: 0.7rem; } }

#header a.colorX_v1:hover { opacity: 1 !important; transition: opacity 0.2s ease-in-out; }

/* -------------------------------------------------------------------------- */
/* 6. GENEL FORMLAR VE INPUTLAR                                               */
/* -------------------------------------------------------------------------- */
.fluid-form .RadInput, .fluid-form .RadPicker, .fluid-form .RadComboBox, .fluid-form .RadDropDownList { width: 100% !important; display: block !important; }
.fluid-form .riTextBox, .fluid-form input[type="text"], .fluid-form input[type="password"] { box-sizing: border-box !important; }
.fluid-form .RadButton { display: block !important; width: 100% !important; margin-bottom: 8px !important; box-shadow: 0 2px 3px rgba(0,0,0,0.08) !important; }

/* RadButton Icon-PrimaryIconCssClass ile Font Awesome: Telerik'in ikon fontunu/boş content'ini ezer */
.RadButton .rbPrimaryIcon:is(.fa-solid,.fa-regular,.fa-brands) { background-image: none !important; width: 16px !important; height: 16px !important; line-height: 16px !important; }
.RadButton .rbPrimaryIcon:is(.fa-solid,.fa-regular,.fa-brands)::before { content: var(--fa) !important; font-family: var(--_fa-family) !important; font-weight: var(--fa-style,900) !important; font-size: 13px !important; line-height: 16px !important; display: inline-block !important; width: 16px !important; text-align: center !important; }

.search-highlight { background-color: #fff3cd !important; color: #d63384 !important; font-weight: bold !important; border-radius: 2px; padding: 0 2px; box-shadow: 0 0 2px rgba(0,0,0,0.1); }

/* -------------------------------------------------------------------------- */
/* 7. DİĞER KONTROLLER VE BİLEŞENLER                                          */
/* -------------------------------------------------------------------------- */
/* RadGrid */
.RadGrid table caption { caption-side: top !important; text-align: left !important; font-weight: bold !important; }
.RadGrid .rgCommandTable caption { padding: 0 !important; }
.rgEditForm td { vertical-align: top !important; }

/* RadNotification */
.RadNotification .rnContentWrapper, .RadNotification .rnContent { padding: 0 !important; margin: 0 !important; width: 100% !important; border: none !important; background: transparent !important; }
.RadNotification table td { padding: 0 !important; }

/* RadWindow */
.RadWindow .rwIcon { display: none !important; }

/* Action Bar & Cards */
.action-bar { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; background-color: #ffffff !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important; padding: 8px 15px !important; margin-bottom: 5px !important; border-radius: 4px !important; }
/* Rol gereği tüm kontrolleri gizlenen (içi boş kalan) action-bar gösterilmez */
.action-bar:not(:has(> *)) { display: none !important; }
.card-importance-1 { border-left: 5px solid #0dcaf0 !important; }
.card-importance-2 { border-left: 5px solid #198754 !important; }
.card-importance-3 { border-left: 5px solid #ffc107 !important; }
.card-importance-4 { border-left: 5px solid #dc3545 !important; }

/* Action Bar standart combo genişlikleri (masaüstü): sayfada Width verilmez, genişlik combo ID'sine göre buradan gelir.
   Genişlik yalnızca kutuya (table) verilir; etiket (Dönem:) kendi genişliğini alır. Mobilde 11. bölümdeki %100 kuralı geçerlidir. */
@media (min-width: 768px) {
    .action-bar .RadComboBox[id$="_cmbDonem"],
    .action-bar .RadComboBox[id$="_cmbDersSube"],
    .action-bar .RadComboBox[id$="_cmbPersonel"],
    .action-bar .RadComboBox[id$="_cmbDersSubeSinav"],
    .action-bar .RadComboBox[id$="_cmbBirim"],
    .action-bar .RadComboBox[id$="_cmbOgrenci"],
    .action-bar .RadComboBox[id$="_cmbDers"] { width: auto !important; display: inline-flex !important; align-items: center !important; }
        .action-bar .RadComboBox[id$="_cmbDonem"] > table { width: 150px !important; }
        .action-bar .RadComboBox[id$="_cmbDersSube"] > table { width: 360px !important; }
        .action-bar .RadComboBox[id$="_cmbPersonel"] > table { width: 300px !important; }
        .action-bar .RadComboBox[id$="_cmbDersSubeSinav"] > table { width: 220px !important; }
        .action-bar .RadComboBox[id$="_cmbBirim"] > table { width: 300px !important; }
        .action-bar .RadComboBox[id$="_cmbOgrenci"] > table { width: 360px !important; }
        .action-bar .RadComboBox[id$="_cmbDers"] > table { width: 360px !important; }
}

/* TreeView */
.node-disabled { color: #999 !important; pointer-events: none; cursor: default !important; }

/* Confirm Penceresi İçeriği */
.radconfirm-modern { height: 100%; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; }

/* Telerik Window Scrollbar Engelleme */
.RadWindow .rwWindowContent { overflow: hidden !important; }

/* 1. Resmin blok özelliğini kaldırıp yanına eleman gelmesine izin veriyoruz */
.buttonCaptcha img[id*="CaptchaImage"] { display: inline-block !important; vertical-align: middle !important; margin: 0 !important; }

/* 2. Input'u saran <p> etiketinin tüm satırı kaplamasını engelliyoruz */
.buttonCaptcha p { display: inline-block !important; margin: 0 !important; padding: 0 !important; vertical-align: middle !important; }

/* 3. Resim ve input'un içinde bulunduğu paneli flex yaparak hizalıyoruz */
.buttonCaptcha div[id*="SpamProtectorPanel"] { display: inline-flex !important; align-items: center !important; gap: 5px !important; /* Resim ile kutu arasındaki boşluk */ }

/* 4. Input'un kendi stilini netleştiriyoruz */
.buttonCaptcha input[id*="CaptchaTextBox"] { display: inline-block !important; margin: 0 !important; }

/* -------------------------------------------------------------------------- */
/* 8. TOOLTIP AYARLARI                                                        */
/* -------------------------------------------------------------------------- */
.RadToolTip:not(.ttTopMenu) .rtWrapper,
.RadToolTip:not(.ttTopMenu) .rtWrapperContent { background-color: #ffffff !important; border: 1px solid #ced4da !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; color: #212529 !important; border-radius: 4px !important; padding: 0.6em 0.9em !important; }
.RadToolTip:not(.ttTopMenu) .rtCallout { background-image: none !important; }

.RadToolTip.ttTopMenu,
.RadToolTip.ttTopMenu .rtWrapper,
.RadToolTip.ttTopMenu .rtWrapperContent,
.RadToolTip.ttTopMenu table.rtWrapper,
.RadToolTip.ttTopMenu tr,
.RadToolTip.ttTopMenu td { background-color: transparent !important; background-image: none !important; border: none !important; box-shadow: none !important; padding: 0 !important; }
    .RadToolTip.ttTopMenu .rtCallout { display: none !important; }
    .RadToolTip.ttTopMenu .chooseAppTabTextMain,
    .RadToolTip.ttTopMenu .chooseAppTabTextSub { color: #ffffff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }

.chooseAppTabToolTipImg { border-radius: 4px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important; padding: 10px !important; }

/* -------------------------------------------------------------------------- */
/* 9. MODERN LOGIN VE FORM YAPISI (GENERIC - ORANSAL)                         */
/* -------------------------------------------------------------------------- */
/* Kapsayıcı */
.form-icon-group { display: flex; align-items: center; background-color: #ffffff; border: 1px solid #ced4da; border-radius: 0.25rem; padding: 0; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; overflow: hidden; position: relative; }

    .form-icon-group:focus-within { border-color: #86b7fe; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); z-index: 1; }

/* İkon Alanı */
.form-icon-addon { display: flex; align-items: center; justify-content: center; padding: 0.5em 0.75em; background-color: #f8f9fa; color: #6c757d; border-right: 1px solid #ced4da; min-width: 3em; }

.form-icon-group:focus-within .form-icon-addon { color: #0d6efd; background-color: #e9ecef; }

/* Telerik Input Reset (REM yerine EM kullanarak Body Skin boyutuna uyduruldu) */
.form-icon-group .riTextBox.RadInput_MetroTouch,
.form-icon-group .riTextBox,
.form-icon-group .RadInput { border: none !important; background: transparent !important; box-shadow: none !important; margin: 0 !important; padding: 0.3em 0.6em !important; height: auto !important; flex-grow: 1; /* ÖNEMLİ DEĞİŞİKLİK: 1rem yerine 1em. Böylece Body'deki 12px-15px ayarına uyar. */ font-size: 1em !important; color: #212529 !important; }

/* -------------------------------------------------------------------------- */
/* ANKET SEÇENEKLERİ (RADIO BUTTONS) MODERN KUTU (PILL) GÖRÜNÜMÜ              */
/* -------------------------------------------------------------------------- */

/* 1. Tüm listeyi Flexbox yaparak seçenekler arasına nizami boşluk ekliyoruz */
.RadRadioButtonList { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }

    /* 2. Tema renklerini bozmayan yapısal Kutu (Pill) Görünümü */
    .RadRadioButtonList .RadRadioButton { display: inline-flex !important; align-items: center !important; border-radius: 25px !important; padding: 6px 14px 6px 10px !important; margin: 0 !important; /* Telerik'in dışarı taşıran eski boşluklarını siliyoruz */ /* Arka planı temaya bırakıyoruz, sadece nötr/saydam bir kenarlık atıyoruz */ background-color: transparent !important; border: 1px solid rgba(128, 128, 128, 0.3) !important; transition: all 0.2s ease-in-out; cursor: pointer !important; }

        /* 3. TELERIK'İN 20PX BOŞLUK HATASINI ÇÖZÜYORUZ */
        .RadRadioButtonList .RadRadioButton .rbIcon,
        .RadCheckBox .rbIcon { position: static !important; margin-right: 6px !important; }

        .RadRadioButtonList .RadRadioButton .rbText,
        .RadCheckBox .rbText { padding: 0 !important; line-height: 1 !important; /* Font boyutu, font kalınlığı ve metin rengi tamamen Telerik temasına bırakıldı */ }

        /* 4. Mouse Hover: Rengi bozmadan çok hafif bir saydam siyahlık ve gölge katıyoruz */
        .RadRadioButtonList .RadRadioButton:hover { background-color: rgba(128, 128, 128, 0.04) !important; border-color: rgba(128, 128, 128, 0.6) !important; }

        /* 5. Seçili (Checked) Durum: Narin ve Zarif Görünüm */
        .RadRadioButtonList .RadRadioButton.rbChecked,
        .RadRadioButtonList .RadRadioButton:has(.rbToggleRadioChecked),
        .RadRadioButtonList .RadRadioButton:has(.p-i-radio-checked) { /* Çerçeveyi ekstra kalınlaştırmıyoruz, sadece temanın rengini incecik (1px) uyguluyoruz */ border-color: currentColor !important; /* Sert ve koyu gölge yerine, çok daha yumuşak ve zarif bir derinlik katıyoruz */ box-shadow: 0 2px 5px rgba(0,0,0,0.06) !important; /* Arka plandaki koyuluğu (%12'den %4'e) düşürerek çok hafif bir dokunuş bırakıyoruz */ background-color: rgba(128, 128, 128, 0.04) !important; /* Milimetrik yukarı kaydırma efekti sabit kalsın, şık duruyor */ transform: translateY(-1px); }

            .RadRadioButtonList .RadRadioButton.rbChecked .rbText,
            .RadRadioButtonList .RadRadioButton:has(.rbToggleRadioChecked) .rbText,
            .RadRadioButtonList .RadRadioButton:has(.p-i-radio-checked) .rbText { /* 800 (Aşırı kalın) yerine 600 (Zarif/Yarı-kalın) kullanıyoruz. Göz yormaz. */ font-weight: 600 !important; }

/* -------------------------------------------------------------------------- */
/* ANKET SORU SATIRI (ROW) HOVER (ÜZERİNE GELİNCE BELİRGİNLEŞME) EFEKTİ       */
/* -------------------------------------------------------------------------- */

/* Satırların temel yapısına yumuşak geçiş (transition) ve yuvarlak hatlar ekliyoruz */
.list-group-item { transition: all 0.2s ease-in-out !important; border-radius: 8px !important; margin-bottom: 4px !important; /* Satırlar arasına minik bir nefes boşluğu */ border: 1px solid transparent !important; /* Üzerine gelince tasarımın kaymasını önler */ }

    /* Mouse ile satırın üzerine gelindiğinde çalışacak olan kısım */
    .list-group-item:hover { /* Satırın arka planını (açık veya koyu tema fark etmeksizin) hafifçe belirginleştirir */ background-color: rgba(0, 0, 0, 0.04) !important; /* Etrafına çok ince, şık bir çerçeve çizer */ border-color: rgba(0, 0, 0, 0.08) !important; /* Satırı tüm sayfanın önüne doğru hafifçe kabartır */ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important; /* Gölgenin diğer satırların altında kalmasını engeller */ z-index: 1; }

/* -------------------------------------------------------------------------- */
/* YAPAY ZEKA CHECKBOX'I İÇİN AYARLAR                                         */
/* -------------------------------------------------------------------------- */
.RadCheckBox { display: inline-flex !important; align-items: center !important; }

    /* -------------------------------------------------------------------------- */
    /* HATA ÇÖZÜMÜ: ÇİFT YUVARLAK (DOUBLE CIRCLE) GÖRÜNÜMÜNÜ ENGELLEME            */
    /* -------------------------------------------------------------------------- */
    .RadRadioButtonList .RadRadioButton input[type="radio"],
    .RadRadioButtonList .RadRadioButton .rbInput,
    .RadCheckBox input[type="checkbox"],
    .RadCheckBox .rbInput { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; pointer-events: none !important; }

    .RadRadioButtonList .RadRadioButton .rbIcon.p-icon,
    .RadCheckBox .rbIcon.p-icon { background-image: none !important; }

    .RadRadioButtonList .RadRadioButton .rbIcon,
    .RadCheckBox .rbIcon { box-sizing: border-box !important; min-width: 14px !important; min-height: 14px !important; }

/* -------------------------------------------------------------------------- */
/* RADCHECKBOX VE CHECKBOXLIST GENEL YAN YANA / ARALIKLI GÖRÜNÜM AYARLARI     */
/* -------------------------------------------------------------------------- */

/* CheckBoxList'in satır/sütun akışını Flexbox ile ferahlatıyoruz */
.RadCheckBoxList { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; /* Boşluk bırakarak iç içe girmeyi önler */ }

    /* Her bir CheckBox elemanının hizalaması ve boşlukları */
    .RadCheckBoxList .RadCheckBox { display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 6px !important; border-radius: 4px !important; transition: all 0.2s ease-in-out; border: 1px solid transparent; /* Zıplamayı önlemek için nötr kenarlık */ }

        /* CheckBox kutusu ile metin arasındaki Telerik hatasını düzeltme */
        .RadCheckBoxList .RadCheckBox .rbIcon { position: static !important; margin-right: 8px !important; /* Kutucuk ile metin arasına net boşluk */ }

        .RadCheckBoxList .RadCheckBox .rbText { padding: 0 !important; line-height: 1.2 !important; }

        /* Mouse Hover Durumu (Hafif arka plan efekti - nötr gri kullanıldı) */
        .RadCheckBoxList .RadCheckBox:hover { background-color: rgba(128, 128, 128, 0.05) !important; }

        /* SEÇİLİ (CHECKED) DURUMU İÇİN TEMAYA UYUMLU VURGU */
        .RadCheckBoxList .RadCheckBox.rbChecked,
        .RadCheckBoxList .RadCheckBox:has(.rbToggleCheckboxChecked),
        .RadCheckBoxList .RadCheckBox:has(.p-i-checkbox-checked) { /* Arka plana çok hafif saydam gri/siyah eklenir (tema rengini ezmez) */ background-color: rgba(128, 128, 128, 0.08) !important; /* Etrafına mevcut temanın yazı rengiyle (currentColor) çerçeve çizer */ border-color: currentColor !important; opacity: 0.9; /* Seçili butona çok minik bir derinlik efekti katar */ box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important; }

            /* Seçili olanın sadece metnini kalın yaparak vurgu oluştur */
            .RadCheckBoxList .RadCheckBox.rbChecked .rbText,
            .RadCheckBoxList .RadCheckBox:has(.rbToggleCheckboxChecked) .rbText,
            .RadCheckBoxList .RadCheckBox:has(.p-i-checkbox-checked) .rbText { font-weight: 700 !important; }

/* -------------------------------------------------------------------------- */
/* 10. LOGIN EKRANI BİLEŞENLERİ (VALIDATOR & CAPTCHA - ORANSAL)               */
/* -------------------------------------------------------------------------- */
/* Header Row */
.login-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.3em; min-height: 1.8em; }

/* Validator (PX yerine EM) */
.login-validator { color: #ffcccc !important; /* ÖNEMLİ DEĞİŞİKLİK: 11px yerine 0.85em (%85) */ font-size: 0.85em !important; font-weight: 600 !important; letter-spacing: 0.05em; background-color: rgba(255, 0, 0, 0.15); padding: 0.15em 0.6em; border-radius: 4px; animation: login-validator-fade-in 0.3s ease-in-out; }

@keyframes login-validator-fade-in {
    from { opacity: 0; transform: translateY(0.4em); }
    to { opacity: 1; transform: translateY(0); }
}

/* Captcha Wrapper */
.captcha-wrapper { margin: 0 !important; padding: 0 !important; min-height: 0; }

/* Footer Links */
.login-footer-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.25em 1em; font-size: 90%; /* % olarak küçültüldü */ }

    .login-footer-links a { color: #6c757d; text-decoration: none; font-weight: 500; transition: color 0.2s ease; display: flex; align-items: center; white-space: nowrap; }

    .login-footer-links span.divider { color: #dee2e6; }

/* Son uygulama hataları penceresi (cntWindowLogAppHata): yığın izi uzun olursa kendi içinde kayar */
.log-hata-ayrinti { max-height: 20rem; }

/* Giriş alt bilgisi: telif yazısı küçük, sosyal medya ikonları yazılımın tema renginde */
.giris-telif { font-size: 0.75rem; }
.giris-altbilgi .social-link { color: var(--theme-primary); opacity: 0.75; transition: opacity 0.15s ease; }
    .giris-altbilgi .social-link:hover { opacity: 1; }

/* Dar ekranda iki bağlantı tek satıra sığsın diye yazı ve aralık küçülür */
@media (max-width: 575.98px) {
    .login-footer-links { font-size: 80%; column-gap: 0.6em; }
        .login-footer-links a i { margin-right: 0.35em !important; }
}

/* -------------------------------------------------------------------------- */
/* 11. MOBİL UYUMLULUK (RESPONSIVE) VE TELERIK DÜZELTMELERİ                   */
/* -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {
    /* 1. Telerik kontrollerini bulundukları flex-grow alanına tam yay */
    .RadComboBox,
    .RadComboBox table,
    .RadSearchBox,
    .RadDropDownTree,
    .RadDropDownList,
    .RadPicker,
    .RadInput { width: 100% !important; box-sizing: border-box !important; }

    /* 2. DropDown pencerelerinin ekrandan taşmasını engelle ve ortala */
    .RadComboBoxDropDown,
    .RadSearchBoxDropDown,
    .RadTreeViewDropDown,
    .RadDropDownListDropDown { max-width: 100vw !important; width: 100% !important; box-sizing: border-box !important; overflow-x: auto !important; left: 0 !important; right: 0 !important; margin-left: auto !important; margin-right: auto !important; }

    /* 3. Etiket ve Kontrol YAN YANA kalsın, sadece gruplar alt alta insin */
    /* İçinde Telerik kontrolü barındıran flex gruplarını %100 genişliğe zorluyoruz. 
       Böylece 'd-flex flex-wrap' kapsayıcısı bunları mecburen alt satıra atar. */
    .d-flex:has(> .flex-grow-1 > .RadComboBox),
    .d-flex:has(> .flex-grow-1 > .RadDropDownTree),
    div[id*="divAramaWrapper"] { width: 100% !important; }

    /* 1. action-bar içindeki div'leri ve doğrudan eklenmiş RadComboBox'ları mobilde alt alta al */
    .action-bar > div,
    .action-bar > .RadComboBox { width: 100% !important; flex-basis: 100% !important; margin-bottom: 5px !important; }

    /* 2. action-bar içindeki TÜM RadComboBox'ları (div içinde olsun veya olmasın) flex yap */
    .action-bar .RadComboBox { display: flex !important; align-items: center !important; width: 100% !important; }

        /* 3. Etiketi (Dönem:) yan yana tut, altındaki gereksiz boşluğu sil ve sağa pay bırak */
        .action-bar .RadComboBox .rcbLabel { width: auto !important; margin-bottom: 0 !important; margin-right: 5px !important; white-space: nowrap !important; display: block !important; }

        /* 4. Açılır kutunun tablosu (input ve ok kısmı) satırın geri kalanını tam doldursun */
        .action-bar .RadComboBox > table { flex-grow: 1 !important; width: 100% !important; }

    /* 5. action-bar içinde içi boş olan veya sadece boş bir ASP.NET Label (<span empty>) barındıran sarmalayıcı div'leri tamamen gizle ve boşluklarını sıfırla */
    .action-bar > div:empty,
    .action-bar > div:has(> span:empty) { display: none !important; margin: 0 !important; padding: 0 !important; }
}

/* -------------------------------------------------------------------------- */
/* 12. RADSEARCHBOX AÇILIR LİSTE HİZALAMA DÜZELTMESİ                          */
/* -------------------------------------------------------------------------- */
/* Telerik varsayılan .rsbListItem stili (padding: 2px 5px; min-height: 13px)
   çok sütunlu / özel ItemTemplate kullanılan aramalarda satırları ve hücreleri
   birkaç piksel aşağı kaydırıyor. */
.rsbList { margin: 0 !important; padding: 0 !important; list-style: none !important; }

    .rsbList .rsbListItem,
    .rsbList .rsbListItemTemplate { display: block !important; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: normal !important; vertical-align: top !important; background-image: none !important; }

/* -------------------------------------------------------------------------- */
/* RADPANELBAR TEMPLATE SATIR ARALIĞI (LINE-HEIGHT) DÜZELTMESİ                */
/* -------------------------------------------------------------------------- */
/* Telerik'in varsayılan 34px line-height değerini eziyoruz */
.RadPanelBar .rpTemplate { line-height: 1.5 !important; }
    /* rpTemplate içindeki paragrafların satır aralıklarını ve boşluklarını standartlaştırıyoruz */
    .RadPanelBar .rpTemplate p { line-height: 1.5 !important; margin-bottom: 1rem !important; margin-top: 0 !important; }

/* -------------------------------------------------------------------------- */
/* 13. SOHBET EKRANI                                                          */
/* -------------------------------------------------------------------------- */
@keyframes pulse-alert {
    0% { transform: scale(1); opacity: 1; text-shadow: 0 0 0px rgba(220, 53, 69, 0); }
    50% { transform: scale(1.3); opacity: 0.8; text-shadow: 0 0 10px rgba(220, 53, 69, 0.9); }
    100% { transform: scale(1); opacity: 1; text-shadow: 0 0 0px rgba(220, 53, 69, 0); }
}

.icon-pulse-alert { animation: pulse-alert 1s infinite; color: #dc3545 !important; display: inline-block; }
li.has-new-message::before,
.has-new-message::before { display: none !important; }
li.has-new-message,
.has-new-message { border-left: 4px solid #dc3545 !important; /* Kırmızı sol şerit */ padding-left: 8px !important; background-color: rgba(220, 53, 69, 0.05) !important; /* Hafif kırmızı arka plan */ font-weight: 600 !important; }

/* 1. RadComboBox Açılır Menü - Yeni Mesaj Kırmızı Sol Şerit Vurgusu */
.RadComboBoxDropDown li.has-new-message { border-left: 4px solid #dc3545 !important; padding-left: 8px !important; background-color: rgba(220, 53, 69, 0.05) !important; font-weight: 600 !important; }
/* 2. RadListBox Kompakt Liste İzolasyonu (Sadece .rad-list-box-overrides İçindekiler) */
/* Sol taraftan kutucuk için 34px boşluk */
.rad-list-box-overrides .rlbList .rlbItem { position: relative !important; padding: 6px 10px 6px 34px !important; border-bottom: 1px solid #f0f2f5 !important; transition: background-color 0.15s ease-in-out; }
    .rad-list-box-overrides .rlbList .rlbItem:hover { background-color: #f8f9fa !important; }
.rad-list-box-overrides .rlbList .rlbSelected { background-color: #e9ecef !important; }
/* 3. Sohbet Listesi Özel Bileşenleri (chat- ön eki ile izole) */
.chat-avatar-box { position: relative; width: 38px; height: 38px; min-width: 38px; }
.chat-avatar-img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 1px solid #dee2e6; background-color: #e9ecef; }
.chat-user-name { font-size: 13px; font-weight: 600; color: #212529; max-width: 170px; line-height: 1.2; }
.chat-sub-line { font-size: 11px; color: #6c757d; line-height: 1.2; }
.chat-last-msg { font-size: 11.5px; color: #495057; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.chat-badge { background-color: #25d366; /* WhatsApp Yeşili */ color: #ffffff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 10px; min-width: 18px; text-align: center; line-height: 1; }
/* 4. Min-Width Düzeltmesi (Sadece sohbet kapsayıcısı içindekiler için) */
.rad-list-box-overrides .min-w-0 { min-width: 0 !important; }
/* 5. Checkbox'ı akıştan çıkarıp soldaki boşluğa dikey tam ortalayarak oturtuyoruz */
.rad-list-box-overrides .rlbCheck { position: absolute !important; left: 10px !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; line-height: 1 !important; z-index: 2; }
.rad-list-box-overrides .rlbCheck input[type="checkbox"] { cursor: pointer; width: 15px; height: 15px; margin: 0 !important; }
/* 6. İçerik div'inin alt çizgisini kaldırıp dış rlbItem elemanına devrediyoruz */
.rad-list-box-overrides .rlbItem > div { border-bottom: none !important; }

/* -------------------------------------------------------------------------- */
/* 14. DİĞER DÜZELTMELER                                                      */
/* -------------------------------------------------------------------------- */
/* Zoom ComboBox genişliği */
.RadPdfViewer .k-toolbar-resizable .k-combobox { width: 190px; min-width: 190px; flex-shrink: 0; box-sizing: border-box; }
/* Yazdırma butonunu sağa taşı */
.RadPdfViewer .k-toolbar-resizable > a[aria-label="Print"] { margin-left: 6px !important; }
/* PDFViewer zoom ComboBox yazı boyutu */
.RadPdfViewer .k-toolbar-resizable .k-combobox,
.RadPdfViewer .k-toolbar-resizable .k-combobox .k-input-inner { font-size: 95%; }
/* Zoom açılır listesindeki seçenekler */
body:has(.RadPdfViewer .k-combobox input[aria-expanded="true"])
.k-list-container .k-list-item,
body:has(.RadPdfViewer .k-combobox input[aria-expanded="true"])
.k-list-container .k-item { font-size: 95%; line-height: 95%; }

/* -------------------------------------------------------------------------- */
/* 15. SORU BANKASI (SINAV) SAYFALARI                                          */
/* -------------------------------------------------------------------------- */
/* Ders çıktısı (Ç1, Ç2...) ve katkı düzeyi (1-5) rozetleri sabit genişlikte */
.sinav-cikti-kod { min-width: 2.4em; }
.sinav-katki-kod { width: 1.8em; }
/* Soru - ders çıktısı eşleştirme matrisi kolonları */
.sinav-matris-no { width: 4.5em; }
.sinav-matris-cikti { width: 8.5em; }
.sinav-matris-cikti-ad { max-width: 7.5em; }
.sinav-matris-secim { width: 6em; }

/* -------------------------------------------------------------------------- */
/* 16. PERSONEL / YÖKSİS KONTROLLERİ                                          */
/* -------------------------------------------------------------------------- */
/* Mobilde (d-md-none) değerin solundaki etiketler hizalı dursun */
.mobil-etiket { min-width: 6em; }
/* Personel kartındaki vesikalık resim */
.personel-resim { width: 90px; height: 110px; }
/* Orta genişlikte (bilgi alanı resmin yanında ama dar) resim küçülür; telefonda ve geniş ekranda 90x110 */
@media (min-width: 768px) and (max-width: 1199.98px) { .personel-resim { width: 70px; height: 86px; } }

/* -------------------------------------------------------------------------- */
/* 17. SAYFA ÜST BİLGİSİ (Menu.Master)                                        */
/* -------------------------------------------------------------------------- */
/* Bilgi kartı: solda mesaj türü ikonu + maddeli içerik */
/* --sayfa-bilgi-renk, tbl_MesajTur.Renk değeriyle kodda (Menu.Master.vb) atanır */
.sayfa-bilgi { --sayfa-bilgi-renk: #0dcaf0; background: color-mix(in srgb, var(--sayfa-bilgi-renk) 6%, #fff); border: 1px solid color-mix(in srgb, var(--sayfa-bilgi-renk) 30%, transparent); }
/* İkonun kutusu metnin bir satırı kadar (1.25em x 1.2 = 1.5em) → ilk satırla hizalı */
.sayfa-bilgi-ikon { color: var(--sayfa-bilgi-renk); font-size: 1.25em; line-height: 1.2; }
/* Mesaj içindeki <ul>: madde işareti yerine ince ayraçlı satırlar */
.sayfa-bilgi-icerik { color: #33404d; min-width: 0; }
.sayfa-bilgi-icerik ul { list-style: none; margin: 0; padding: 0; }
.sayfa-bilgi-icerik li { position: relative; padding-left: 1.4rem; }
.sayfa-bilgi-icerik li + li { margin-top: .3rem; padding-top: .3rem; border-top: 1px dashed color-mix(in srgb, var(--sayfa-bilgi-renk) 30%, transparent); }
/* Nokta, maddenin ilk satırının ortasında (satır 1.5em, nokta .4rem) */
.sayfa-bilgi-icerik li::before { content: ""; position: absolute; left: .4rem; top: calc(.75em - .2rem); width: .4rem; height: .4rem; border-radius: 50%; background: var(--sayfa-bilgi-renk); }
.sayfa-bilgi-icerik li + li::before { top: calc(.3rem + .75em - .2rem); }
/* Mesaj içindeki <ol>: sıralı iş akışı, nokta yerine renkli adım numarası (1.2rem daire) */
.sayfa-bilgi-icerik ol { list-style: none; margin: 0; padding: 0; counter-reset: sayfa-bilgi-adim; }
.sayfa-bilgi-icerik ol > li { counter-increment: sayfa-bilgi-adim; padding-left: 1.7rem; }
.sayfa-bilgi-icerik ol > li::before { content: counter(sayfa-bilgi-adim); left: 0; top: calc(.75em - .6rem); width: 1.2rem; height: 1.2rem; color: #fff; font-size: .7rem; font-weight: 600; line-height: 1.2rem; text-align: center; }
.sayfa-bilgi-icerik ol > li + li::before { top: calc(.3rem + .75em - .6rem); }
/* Uzun mesaj (sınıfı kodda verilir): kapalıyken tek satır (ilk madde, taşan kısım "…"), .acik ile tamamı */
.sayfa-bilgi-devam { display: none; color: color-mix(in srgb, var(--sayfa-bilgi-renk) 65%, #000); }
.sayfa-bilgi-devam:hover { color: color-mix(in srgb, var(--sayfa-bilgi-renk) 45%, #000); }
.sayfa-bilgi-devam i { font-size: .8em; }
.sayfa-bilgi-uzun .sayfa-bilgi-devam { display: inline-block; }
.sayfa-bilgi.acik .sayfa-bilgi-devam { margin-top: .3rem; }
.sayfa-bilgi-devam-kapat, .sayfa-bilgi.acik .sayfa-bilgi-devam-ac { display: none; }
.sayfa-bilgi.acik .sayfa-bilgi-devam-kapat { display: inline; }
/* Kapalıyken mesaj ve bağlantı yan yana: bağlantı ilk satırın hemen sonunda, metin taşarsa "…" ile kısalır */
.sayfa-bilgi-uzun:not(.acik) .sayfa-bilgi-icerik { display: flex; align-items: flex-start; gap: .5rem; }
.sayfa-bilgi-uzun:not(.acik) .sayfa-bilgi-icerik :is(ul, ol) > li:nth-child(n+2) { display: none; }
/* Listeden sonra gelen ek içerik (ör. bağlantı satırı) da tek satır yüksekliğinde kesilir */
.sayfa-bilgi-uzun:not(.acik) .sayfa-bilgi-icerik > span { max-height: 1.5em; flex: 0 1 auto; min-width: 0; }
.sayfa-bilgi-uzun:not(.acik) .sayfa-bilgi-icerik > span,
.sayfa-bilgi-uzun:not(.acik) .sayfa-bilgi-icerik :is(ul, ol) > li:first-child { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }