/* =====================================================================
   Sadık Şoför Okulu · Yönetim Paneli
   Renkler logodan: kırmızı #e30613, lacivert #16123f
   ===================================================================== */

:root {
    --ss-kirmizi: #e30613;
    --ss-kirmizi-koyu: #b9050f;
    --ss-kirmizi-acik: #fdecee;
    --ss-lacivert: #16123f;
    --ss-lacivert-2: #231d5e;
    --ss-lacivert-3: #2f2878;
    --ss-zemin: #f3f5fa;
    --ss-kart: #ffffff;
    --ss-kenarlik: #e5e8f0;
    --ss-metin: #1c1f3a;
    --ss-soluk: #6b7192;
    --ss-golge: 0 1px 2px rgba(22, 18, 63, .04), 0 4px 16px rgba(22, 18, 63, .05);
    --ss-radius: 14px;
    --ss-kenar-genislik: 256px;

    --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --bs-body-color: var(--ss-metin);
    --bs-link-color: var(--ss-lacivert-3);
    --bs-link-color-rgb: 47, 40, 120;
    --bs-link-hover-color: var(--ss-kirmizi);
    --bs-link-hover-color-rgb: 227, 6, 19;
}

body.admin {
    background: var(--ss-zemin);
    min-height: 100vh;
}

/* ------------------------------------------------------------ Düğmeler */
.btn-ss {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ss-kirmizi);
    --bs-btn-border-color: var(--ss-kirmizi);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ss-kirmizi-koyu);
    --bs-btn-hover-border-color: var(--ss-kirmizi-koyu);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ss-kirmizi-koyu);
    --bs-btn-active-border-color: var(--ss-kirmizi-koyu);
    --bs-btn-disabled-bg: var(--ss-kirmizi);
    --bs-btn-disabled-border-color: var(--ss-kirmizi);
    --bs-btn-focus-shadow-rgb: 227, 6, 19;
    font-weight: 600;
    border-radius: 10px;
}

.btn-ss-cizgi {
    --bs-btn-color: var(--ss-kirmizi);
    --bs-btn-border-color: var(--ss-kirmizi);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ss-kirmizi);
    --bs-btn-hover-border-color: var(--ss-kirmizi);
    --bs-btn-active-bg: var(--ss-kirmizi-koyu);
    --bs-btn-active-color: #fff;
    border-radius: 10px;
}

.btn-lacivert {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ss-lacivert);
    --bs-btn-border-color: var(--ss-lacivert);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ss-lacivert-2);
    --bs-btn-hover-border-color: var(--ss-lacivert-2);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ss-lacivert-3);
    --bs-btn-focus-shadow-rgb: 22, 18, 63;
    border-radius: 10px;
}

.btn-ikon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    border-radius: 10px;
}

.form-control, .form-select, .input-group-text {
    border-radius: 10px;
    border-color: var(--ss-kenarlik);
}

.input-group > :not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: var(--ss-lacivert-3);
    box-shadow: 0 0 0 .2rem rgba(47, 40, 120, .12);
}

.form-check-input:checked {
    background-color: var(--ss-kirmizi);
    border-color: var(--ss-kirmizi);
}

.form-label { font-weight: 500; font-size: .875rem; }
.form-label.zorunlu::after { content: " *"; color: var(--ss-kirmizi); }
.buyuk-harf { text-transform: uppercase; }
.buyuk-harf::placeholder { text-transform: none; }

/* ------------------------------------------------------------ Kenar çubuğu */
.kenar {
    --bs-offcanvas-width: var(--ss-kenar-genislik);
    --bs-offcanvas-bg: var(--ss-lacivert);
    --bs-offcanvas-color: #fff;
    background: var(--ss-lacivert);
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 18px 14px calc(14px + env(safe-area-inset-bottom));
}

@media (min-width: 992px) {
    .kenar {
        position: fixed;
        inset: 0 auto 0 0;
        width: var(--ss-kenar-genislik);
        z-index: 1030;
        overflow-y: auto;
        /* Bootstrap .offcanvas-lg geniş ekranda zemini şeffaf yapar */
        background-color: var(--ss-lacivert) !important;
    }
    .ana { margin-left: var(--ss-kenar-genislik); }
}

.kenar-ust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 22px;
}

.kenar-logo {
    display: block;
    background: #fff;
    border-radius: 14px;
    padding: 8px 14px;
    flex: 1;
    text-align: center;
}

.kenar-logo img { max-width: 150px; width: 100%; height: auto; }

.kenar-menu { display: flex; flex-direction: column; gap: 4px; flex: 1; }

.kenar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 10px;
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    font-weight: 500;
    font-size: .94rem;
    transition: background-color .15s, color .15s;
}

.kenar-link i { font-size: 1.1rem; width: 20px; text-align: center; }
.kenar-link:hover { background: rgba(255, 255, 255, .08); color: #fff; }

.kenar-link.active {
    background: var(--ss-kirmizi);
    color: #fff;
    box-shadow: 0 6px 16px rgba(227, 6, 19, .35);
}

.kenar-link.yakinda { color: rgba(255, 255, 255, .38); cursor: default; }
.kenar-link.yakinda:hover { background: transparent; color: rgba(255, 255, 255, .38); }
.kenar-link.yakinda small {
    margin-left: auto;
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 6px;
    padding: 1px 6px;
}

.kenar-alt { padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 12px; }
.kenar-alt .kenar-link { color: rgba(255, 255, 255, .7); }

/* ------------------------------------------------------------ Üst çubuk */
.ust-bar {
    position: sticky;
    top: 0;
    z-index: 1020;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: calc(10px + env(safe-area-inset-top)) 24px 10px;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(160%) blur(8px);
    border-bottom: 1px solid var(--ss-kenarlik);
}

.ust-arama { position: relative; flex: 1; max-width: 460px; }
.ust-arama i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ss-soluk); }
.ust-arama .form-control { padding-left: 40px; background: var(--ss-zemin); border-color: transparent; }
.ust-arama .form-control:focus { background: #fff; }

.ust-sag { margin-left: auto; display: flex; align-items: center; gap: 10px; }

.kullanici-dugme {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 0;
    padding: 4px 6px;
    border-radius: 12px;
    color: inherit;
}
.kullanici-dugme:hover { background: var(--ss-zemin); }
.kullanici-dugme strong { font-size: .9rem; }

.cevrimdisi-rozet {
    background: #fff4e5;
    color: #9a5b00;
    border: 1px solid #ffd8a8;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .78rem;
    font-weight: 600;
}

/* ------------------------------------------------------------ İçerik */
.icerik {
    padding: 24px;
    padding-bottom: calc(32px + env(safe-area-inset-bottom));
    max-width: 1500px;
}

@media (max-width: 575.98px) {
    .icerik { padding: 16px; }
    .ust-bar { padding-left: 12px; padding-right: 12px; }
}

.sayfa-baslik {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}
.sayfa-baslik h1 { font-size: 1.45rem; font-weight: 700; margin: 0; color: var(--ss-lacivert); }
.sayfa-baslik p { margin: 4px 0 0; color: var(--ss-soluk); font-size: .9rem; }
.breadcrumb a { text-decoration: none; }

/* ------------------------------------------------------------ Kartlar */
.kart {
    background: var(--ss-kart);
    border: 1px solid var(--ss-kenarlik);
    border-radius: var(--ss-radius);
    box-shadow: var(--ss-golge);
    overflow: hidden;
}

.kart-baslik {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--ss-kenarlik);
}
.kart-baslik h2 { font-size: 1rem; font-weight: 700; margin: 0; color: var(--ss-lacivert); }
.kart-govde { padding: 20px; }
.kart-alt { padding: 12px 20px; border-top: 1px solid var(--ss-kenarlik); background: #fafbfd; }

.bos-durum {
    text-align: center;
    color: var(--ss-soluk);
    padding: 28px 16px;
    font-size: .92rem;
}

/* ------------------------------------------------------------ Özet kartları */
.stat-kart {
    position: relative;
    border-radius: var(--ss-radius);
    padding: 18px 18px 16px;
    height: 100%;
    overflow: hidden;
    box-shadow: var(--ss-golge);
}
.stat-kart::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -40px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .07);
}
.stat-kart > * { position: relative; z-index: 1; }
.stat-ikon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 12px;
}
.stat-etiket { font-size: .82rem; font-weight: 600; opacity: .85; }
.stat-deger { font-size: 1.65rem; font-weight: 800; line-height: 1.2; margin: 2px 0 4px; white-space: nowrap; }
.stat-alt { font-size: .76rem; opacity: .75; }

.stat-lacivert { background: linear-gradient(135deg, var(--ss-lacivert), var(--ss-lacivert-3)); color: #fff; }
.stat-lacivert .stat-ikon { background: rgba(255, 255, 255, .12); }
.stat-kirmizi { background: linear-gradient(135deg, var(--ss-kirmizi), #ff4a3d); color: #fff; }
.stat-kirmizi .stat-ikon { background: rgba(255, 255, 255, .18); }
.stat-beyaz { background: #fff; border: 1px solid var(--ss-kenarlik); color: var(--ss-metin); }
.stat-beyaz .stat-ikon { background: var(--ss-kirmizi-acik); color: var(--ss-kirmizi); }
.stat-beyaz::after { background: var(--ss-zemin); }

@media (max-width: 575.98px) {
    .stat-deger { font-size: clamp(.95rem, 4.4vw, 1.25rem); }
    .stat-kart { padding: 14px; }
}

/* Liste ve kart içindeki bağlantılar alt çizgisiz */
.tablo a, .uyari-liste a, .profil-kart a, .kasa-ikon + span a { text-decoration: none; }
.tablo a:hover, .uyari-liste a:hover, .profil-kart a:hover { text-decoration: underline; }

.grafik-kutu { position: relative; height: 290px; }

.kasa-ikon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ss-zemin);
    color: var(--ss-lacivert-3);
}
.kasa-tur-1 { background: #e9f8ef; color: #198754; }
.kasa-tur-3 { background: var(--ss-kirmizi-acik); color: var(--ss-kirmizi); }

.uyari-liste { max-height: 340px; overflow-y: auto; }
.uyari-liste .list-group-item { padding: 12px 20px; }

/* ------------------------------------------------------------ Tablolar */
.tablo { --bs-table-bg: transparent; font-size: .9rem; }
.tablo thead th {
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ss-soluk);
    font-weight: 600;
    background: #fafbfd;
    border-bottom: 1px solid var(--ss-kenarlik);
    padding: 12px 16px;
    white-space: nowrap;
}
.tablo td { padding: 12px 16px; border-color: var(--ss-kenarlik); }
.tablo tbody tr:last-child td { border-bottom: 0; }
.tablo-tikla tbody tr { cursor: pointer; }
.tablo-tikla tbody tr:hover { background: #f8f9fd; }
.pasif-satir { opacity: .6; }

.pagination { --bs-pagination-active-bg: var(--ss-kirmizi); --bs-pagination-active-border-color: var(--ss-kirmizi); --bs-pagination-color: var(--ss-lacivert); }

.avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ss-lacivert-2), var(--ss-lacivert-3));
    color: #fff;
    font-weight: 700;
    font-size: .8rem;
    flex-shrink: 0;
}
.avatar-sm { width: 34px; height: 34px; font-size: .75rem; }

.sinif-rozet {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 26px;
    padding: 0 6px;
    border-radius: 8px;
    background: var(--ss-kirmizi-acik);
    color: var(--ss-kirmizi);
    font-weight: 800;
    font-size: .82rem;
}
.sinif-rozet-sm { min-width: 22px; height: 20px; font-size: .7rem; margin-left: 4px; }

.badge.sonuc-G { background: #d1f2df; color: #146c43; }
.badge.sonuc-K { background: #fbd5d8; color: #b02a37; }
.badge.sonuc-E { background: #ffe8c2; color: #8a5300; }
.badge[class*="sonuc-"]:not(.sonuc-G):not(.sonuc-K):not(.sonuc-E) { background: #e9ecf3; color: #4b5170; }

.filtre-cubugu { padding: 16px 20px; }

/* ------------------------------------------------------------ Aday detay */
.profil-foto {
    width: 88px;
    height: 104px;
    border-radius: 12px;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 4px 14px rgba(22, 18, 63, .15);
    flex-shrink: 0;
}
.profil-bos {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ss-lacivert), var(--ss-lacivert-3));
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
}
.profil-bakiye {
    text-align: right;
    padding: 10px 16px;
    border-radius: 12px;
    background: #e9f8ef;
    color: #146c43;
}
.profil-bakiye.borclu { background: var(--ss-kirmizi-acik); color: var(--ss-kirmizi); }
.profil-bakiye small { display: block; font-size: .75rem; font-weight: 600; opacity: .8; }
.profil-bakiye strong { font-size: 1.35rem; }

.bilgi-listesi {
    display: grid;
    grid-template-columns: minmax(110px, 40%) 1fr;
    gap: 8px 12px;
    margin: 0;
    font-size: .9rem;
}
.bilgi-listesi dt { color: var(--ss-soluk); font-weight: 500; }
.bilgi-listesi dd { margin: 0; }

.not-kutu {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff9e6;
    border: 1px solid #ffe7a3;
    font-size: .88rem;
    white-space: pre-line;
}

.sekmeler { border-bottom: 1px solid var(--ss-kenarlik); gap: 4px; }
.sekmeler .nav-link {
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--ss-soluk);
    font-weight: 600;
    padding: 10px 14px;
}
.sekmeler .nav-link.active { color: var(--ss-kirmizi); border-bottom-color: var(--ss-kirmizi); background: transparent; }

/* ------------------------------------------------------------ Aday formu */
.foto-cerceve {
    width: 150px;
    height: 180px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--ss-zemin);
    border: 2px dashed var(--ss-kenarlik);
    display: flex;
    align-items: center;
    justify-content: center;
}
.foto-cerceve img { width: 100%; height: 100%; object-fit: cover; }
.foto-bos { display: flex; flex-direction: column; align-items: center; color: var(--ss-soluk); font-size: .8rem; }
.foto-bos i { font-size: 2.6rem; margin-bottom: 4px; }

.kamera-kutu {
    position: relative;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    max-height: 60vh;
    margin: 0 auto;
}
.kamera-kutu video { width: 100%; height: 100%; object-fit: cover; }
.kamera-kilavuz {
    position: absolute;
    inset: 12% 20% 18%;
    border: 2px dashed rgba(255, 255, 255, .6);
    border-radius: 45% 45% 40% 40%;
    pointer-events: none;
}

.form-aksiyon {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
    background: linear-gradient(to top, var(--ss-zemin) 70%, rgba(243, 245, 250, 0));
    z-index: 5;
}

/* ------------------------------------------------------------ Giriş sayfası */
body.giris-sayfasi {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 20%, rgba(227, 6, 19, .35), transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(47, 40, 120, .8), transparent 50%),
        var(--ss-lacivert);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.giris-kutu { width: 100%; max-width: 420px; }
.giris-kart {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}
.giris-logo { width: 180px; height: auto; }
.giris-alt { text-align: center; color: rgba(255, 255, 255, .55); font-size: .78rem; margin-top: 16px; }

/* ------------------------------------------------------------ PWA */
.ios-ipucu {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 1090;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
    font-size: .86rem;
}

/* Uygulama (standalone) modunda: alt kenar boşluğu */
@media (display-mode: standalone) {
    body.admin { overscroll-behavior-y: none; }
}

/* ------------------------------------------------------------ Web yönetimi */
.kenar-grup {
    margin: 14px 14px 4px;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .4);
    font-weight: 600;
}
.kenar-sayac {
    margin-left: auto;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #fff;
    color: var(--ss-kirmizi);
    font-size: .72rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.kenar-link.active .kenar-sayac { background: rgba(255, 255, 255, .25); color: #fff; }

.bildirim-bandi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--ss-kirmizi-acik);
    border: 1px solid rgba(227, 6, 19, .18);
    color: var(--ss-metin);
}
.bildirim-bandi > i { font-size: 1.3rem; color: var(--ss-kirmizi); }
.bildirim-bandi a:not(.btn) { color: var(--ss-kirmizi); text-decoration: none; }

.hap-sekme { gap: 4px; flex-wrap: wrap; }
.hap-sekme .nav-link {
    border-radius: 999px;
    padding: 6px 14px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--ss-soluk);
    background: var(--ss-zemin);
}
.hap-sekme .nav-link.active { background: var(--ss-lacivert); color: #fff; }

.onkayit-liste { display: flex; flex-direction: column; gap: 12px; }
.onkayit-kart { border-left: 4px solid transparent; }
.onkayit-kart.yeni { border-left-color: var(--ss-kirmizi); }
.onkayit-kart .kart-govde { padding: 16px 20px; }
.onkayit-mesaj {
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--ss-zemin);
    font-size: .9rem;
    white-space: pre-line;
}
.onkayit-aksiyon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--ss-kenarlik);
}
.onkayit-not { flex: 1 1 220px; max-width: 420px; }

.konum-haritasi {
    height: 320px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--ss-kenarlik);
    background: var(--ss-zemin);
}

/* ------------------------------------------------------------ Kayıt */
.sinif-rozet-buyuk { min-width: 54px; height: 48px; font-size: 1.4rem; border-radius: 12px; }
.profil-foto-kucuk { width: 64px; height: 76px; }
.profil-foto-kucuk.profil-bos { font-size: 1.3rem; }
.bilgi-listesi-2 { grid-template-columns: max-content 1fr; column-gap: 20px; }

.odeme-ozet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.odeme-ozet > div { background: var(--ss-zemin); border-radius: 12px; padding: 12px; }
.odeme-ozet small { display: block; font-size: .75rem; font-weight: 600; opacity: .75; }
.odeme-ozet strong { font-size: 1.05rem; white-space: nowrap; }
@media (max-width: 575.98px) { .odeme-ozet { grid-template-columns: 1fr; } }

.belge-kutu {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    border: 2px solid var(--ss-kenarlik);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #fff;
}
.belge-kutu:hover { border-color: #198754; }
.belge-kutu.teslim { background: #198754; border-color: #198754; }

.belge-secim { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 16px; }
.belge-satir { padding: 6px 0 6px 1.75em; border-bottom: 1px dashed var(--ss-kenarlik); margin: 0; }
.belge-satir .form-check-label { font-size: .88rem; }

.plan-sihirbaz {
    background: var(--ss-zemin);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
}
.taksit-tablo th { font-size: .75rem; color: var(--ss-soluk); font-weight: 600; text-transform: uppercase; }
.taksit-tablo td { padding: 4px 4px; }

/* ------------------------------------------------------------ Kasa */
.bakiye-serit {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 10px;
}
.bakiye-kart {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--ss-kenarlik);
    border-radius: 12px;
    text-decoration: none;
    color: var(--ss-metin);
    box-shadow: var(--ss-golge);
}
.bakiye-kart:hover { border-color: var(--ss-lacivert-3); color: var(--ss-metin); }
.bakiye-kart.secili { border-color: var(--ss-kirmizi); box-shadow: 0 0 0 2px rgba(227, 6, 19, .15); }
.bakiye-kart small { display: block; color: var(--ss-soluk); font-size: .76rem; }
.bakiye-kart strong { font-size: 1.02rem; white-space: nowrap; }

.kur-serit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--ss-kenarlik);
    border-radius: 10px;
    font-size: .88rem;
}
.kur-serit > i { color: var(--ss-lacivert-3); }
.kur-serit a { text-decoration: none; }

.toplam-kart {
    background: #fff;
    border: 1px solid var(--ss-kenarlik);
    border-radius: 12px;
    padding: 10px 14px;
    height: 100%;
}

.iptal-satir td { color: #9aa0b4 !important; }
.iptal-satir td .fw-semibold, .iptal-satir td.text-end { text-decoration: line-through; }

.kasa-secim { display: flex; flex-wrap: wrap; gap: 8px; }
.kasa-dugme {
    border: 1.5px solid var(--ss-kenarlik);
    border-radius: 10px;
    background: #fff;
    padding: 8px 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.kasa-dugme-sembol {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--ss-zemin);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.btn-check:checked + .kasa-dugme { border-color: var(--ss-lacivert); background: var(--ss-lacivert); color: #fff; }
.btn-check:checked + .kasa-dugme .kasa-dugme-sembol { background: rgba(255, 255, 255, .2); }
.btn-check:focus-visible + .kasa-dugme { box-shadow: 0 0 0 .2rem rgba(47, 40, 120, .25); }

.mahsup-kutu { background: #fff8e6; border: 1px solid #ffe2a3; border-radius: 12px; padding: 12px 14px; }

@media (min-width: 1200px) { .cari-kart { position: sticky; top: 84px; } }
.cari-ozet { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 12px 0 0; font-size: .95rem; }
.cari-ozet dt { color: var(--ss-soluk); font-weight: 500; }
.cari-ozet dd { margin: 0; text-align: right; white-space: nowrap; }
.cari-sonra {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--ss-zemin);
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: .9rem;
}

.virman-kutu { height: 100%; border-radius: 12px; padding: 14px; border: 1px solid var(--ss-kenarlik); }
.virman-kutu.cikis { background: #fff5f5; }
.virman-kutu.giris { background: #f2fbf5; }
.virman-baslik { font-weight: 700; margin-bottom: 8px; }
.virman-ok {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--ss-lacivert);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}
@media (max-width: 767.98px) { .virman-ok { transform: rotate(90deg); } }

/* Günlük rapor (A4) */
.a4-sayfa {
    background: #fff;
    max-width: 210mm;
    padding: 12mm;
    border-radius: 6px;
    box-shadow: var(--ss-golge);
    font-size: .88rem;
}
.rapor-ust {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: end;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--ss-lacivert);
    margin-bottom: 10px;
}
.rapor-etiket { font-weight: 700; }
.rapor-tablo { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.rapor-tablo th, .rapor-tablo td { border: 1px solid #c9ccd6; padding: 5px 7px; }
.rapor-tablo th { background: #f4f5f9; font-size: .78rem; text-transform: uppercase; }
.rapor-tablo tfoot td { font-weight: 700; background: #f9fafc; }
.rapor-belge { font-family: var(--bs-font-monospace); font-size: .75rem; color: #777; margin-left: 4px; }
.rapor-alt-baslik { font-size: .95rem; font-weight: 700; margin: 6px 0; }
.rapor-imza { display: flex; justify-content: space-between; margin-top: 36px; text-align: center; font-weight: 600; }
.rapor-imza > div { width: 42%; border-top: 1px solid #333; padding-top: 4px; }
.rapor-imza span { font-weight: 400; font-size: .8rem; color: #555; }

/* ------------------------------------------------------------ Yazdırma */
@media print {
    @page { size: A4 portrait; margin: 10mm; }
    .kenar, .ust-bar, .form-aksiyon, .toast-container, .btn, .ios-ipucu, .d-print-none { display: none !important; }
    .ana { margin: 0 !important; }
    .icerik { padding: 0 !important; max-width: none; }
    body.admin { background: #fff; }
    .kart { box-shadow: none; }
    .a4-sayfa { box-shadow: none; padding: 0; max-width: none; font-size: 11px; }
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ================================================================ Sınavlar */
.btn-outline-lacivert {
    --bs-btn-color: var(--ss-lacivert);
    --bs-btn-border-color: #cfd3e3;
    --bs-btn-hover-color: var(--ss-lacivert);
    --bs-btn-hover-bg: #eef0f7;
    --bs-btn-hover-border-color: #b9bfd6;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ss-lacivert);
    --bs-btn-active-border-color: var(--ss-lacivert);
}
.form-bolum {
    font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: #6b7090; margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px dashed var(--ss-kenarlik);
}
details > summary.form-bolum { cursor: pointer; list-style: revert; }

.sinav-ozet { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.sinav-ozet-kart {
    display: flex; flex-direction: column; padding: 12px 16px; border-radius: 14px; background: #fff;
    border: 1px solid var(--ss-kenarlik); text-decoration: none; color: var(--ss-lacivert);
    transition: transform .12s, box-shadow .12s;
}
.sinav-ozet-kart:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(22,18,63,.08); color: var(--ss-lacivert); }
.sinav-ozet-kart strong { font-size: 1.5rem; line-height: 1.1; }
.sinav-ozet-kart span { font-size: .78rem; color: #6b7090; }
.sinav-ozet-kart.kirmizi { border-left: 4px solid var(--ss-kirmizi); }
.sinav-ozet-kart.sari { border-left: 4px solid #f0ad1e; }
@media (max-width: 767.98px) {
    .sinav-ozet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sinav-ozet-kart { padding: 10px 12px; }
    .sinav-ozet-kart strong { font-size: 1.2rem; }
}

.sonuc-dugmeleri { display: inline-flex; gap: 4px; margin: 0; }
.sonuc-dugme {
    width: 32px; height: 30px; border-radius: 8px; border: 1px solid var(--ss-kenarlik); background: #fff;
    font-weight: 700; font-size: .85rem; color: #4b5170; padding: 0; line-height: 1;
}
.sonuc-dugme.sonuc-G:hover { background: #d1f2df; color: #146c43; border-color: #8fd3ad; }
.sonuc-dugme.sonuc-K:hover { background: #fbd5d8; color: #b02a37; border-color: #f0a1a8; }
.sonuc-dugme.sonuc-E:hover { background: #ffe8c2; color: #8a5300; border-color: #f3c57a; }
.btn-check:checked + .sonuc-secim.sonuc-G { background: #198754; border-color: #198754; color: #fff; }
.btn-check:checked + .sonuc-secim.sonuc-K { background: #dc3545; border-color: #dc3545; color: #fff; }
.btn-check:checked + .sonuc-secim.sonuc-E { background: #f0ad1e; border-color: #f0ad1e; color: #222; }

.defter-tablo tr.bugun-satir > td { background: #fff7f7; }
.defter-tablo tr.bugun-satir > td:first-child { box-shadow: inset 3px 0 0 var(--ss-kirmizi); }

.program-gun {
    font-size: .95rem; font-weight: 700; margin: 14px 0 6px; padding: 4px 8px;
    background: #eef0f7; border-left: 4px solid var(--ss-lacivert); display: flex; justify-content: space-between;
}
.program-gun span { font-weight: 400; font-size: .8rem; color: #555; }
@media print {
    .program-gun { break-after: avoid; }
    .rapor-tablo tr { break-inside: avoid; }
}
.program-tablo { table-layout: fixed; width: 100%; }
.program-tablo td { overflow: hidden; text-overflow: ellipsis; }
.font-sans { font-family: var(--bs-body-font-family); }

/* Defter: telefonda kart görünümü */
@media (max-width: 767.98px) {
    .defter-tablo thead { display: none; }
    .defter-tablo, .defter-tablo tbody { display: block; }
    .defter-tablo tr {
        display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 12px 16px;
        border-bottom: 1px solid var(--ss-kenarlik);
        grid-template-areas: "ad sinif" "tarih saat" "makbuz makbuz" "islem sonuc";
    }
    .defter-tablo td { display: block; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
    .defter-tablo .c-ad { grid-area: ad; }
    .defter-tablo .c-sinif { grid-area: sinif; }
    .defter-tablo .c-tarih { grid-area: tarih; }
    .defter-tablo .c-saat { grid-area: saat; text-align: right; }
    .defter-tablo .c-makbuz { grid-area: makbuz; }
    .defter-tablo .c-islem { grid-area: islem; align-self: center; }
    .defter-tablo .c-sonuc { grid-area: sonuc; text-align: right; }
    .defter-tablo .c-yer { display: none !important; }
    .defter-tablo tr.bugun-satir { background: #fff7f7; box-shadow: inset 3px 0 0 var(--ss-kirmizi); }
}

/* ================================================================ Görevler */
.gorev-gun { margin-bottom: 18px; }
.gorev-gun-baslik {
    display: flex; justify-content: space-between; align-items: center; gap: 8px;
    padding: 6px 4px 8px; border-bottom: 2px solid var(--ss-kenarlik); margin-bottom: 8px;
}
.gorev-gun-baslik strong { font-size: 1rem; color: var(--ss-lacivert); }
.gorev-gun-baslik span { color: var(--ss-soluk); }
.gorev-gun.bugun .gorev-gun-baslik { border-bottom-color: var(--ss-kirmizi); }
.gorev-bos { color: var(--ss-soluk); font-size: .85rem; padding: 4px 6px 8px; }

.gorev-kart {
    display: grid; grid-template-columns: 74px 1fr auto; gap: 12px; align-items: start;
    background: #fff; border: 1px solid var(--ss-kenarlik); border-left: 4px solid var(--ss-lacivert-3);
    border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; box-shadow: var(--ss-golge);
}
.gorev-kart.gorev-primary { border-left-color: #0d6efd; }
.gorev-kart.gorev-danger { border-left-color: var(--ss-kirmizi); }
.gorev-kart.gorev-success { border-left-color: #198754; }
.gorev-kart.iptal { opacity: .55; }
.gorev-kart.iptal .gorev-icerik { text-decoration: line-through; }
.gorev-kart.tamam { background: #f6fbf8; }
.gorev-saat { display: flex; flex-direction: column; line-height: 1.15; }
.gorev-saat strong { font-size: 1.05rem; color: var(--ss-lacivert); }
.gorev-saat span { font-size: .82rem; color: var(--ss-soluk); }
.gorev-saat small { font-size: .72rem; color: var(--ss-soluk); margin-top: 4px; }
.gorev-ogrenciler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.gorev-ogrenciler li { font-size: .92rem; }
.gorev-not { font-size: .8rem; color: var(--ss-soluk); padding-left: 22px; font-style: italic; }
.gorev-aksiyon { display: flex; gap: 6px; align-items: flex-start; }
@media (max-width: 575.98px) {
    .gorev-kart { grid-template-columns: 58px 1fr; }
    .gorev-aksiyon { grid-column: 1 / -1; justify-content: flex-end; }
}

.gorev-arama { position: absolute; z-index: 20; left: 0; right: 0; max-height: 320px; overflow-y: auto; box-shadow: 0 10px 24px rgba(22,18,63,.14); }
.gorev-secili { display: flex; flex-wrap: wrap; gap: 6px; }
.gorev-cip {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px 5px 12px;
    background: var(--ss-zemin); border: 1px solid var(--ss-kenarlik); border-radius: 999px; font-size: .9rem;
}
.gorev-cip small { color: var(--ss-soluk); }
.btn-close-sm { width: .6em; height: .6em; padding: .25em; }

.tamamla-satir { border: 1px solid var(--ss-kenarlik); border-radius: 12px; padding: 12px; margin-bottom: 10px; background: #fff; }

.ders-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 2fr; gap: 10px; }
.ders-ozet > div { background: var(--ss-zemin); border-radius: 12px; padding: 10px 12px; }
.ders-ozet small { display: block; font-size: .75rem; font-weight: 600; opacity: .75; }
.ders-ozet strong { font-size: 1.05rem; }
@media (max-width: 767.98px) {
    .ders-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ders-ozet-genis { grid-column: 1 / -1; }
}
.ek-ucret-liste li { padding: 4px 0; border-bottom: 1px dashed var(--ss-kenarlik); font-size: .9rem; }
.ek-ucret-liste li:last-child { border-bottom: 0; }

/* ================================================================ Rapor Merkezi */
.rapor-grup-baslik { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ss-soluk); margin: 8px 0 10px; }
.rapor-kart {
    display: flex; gap: 12px; align-items: flex-start; height: 100%;
    background: #fff; border: 1px solid var(--ss-kenarlik); border-radius: var(--ss-radius);
    padding: 14px 16px; text-decoration: none; color: var(--ss-metin); box-shadow: var(--ss-golge);
    transition: transform .12s, box-shadow .12s, border-color .12s;
}
.rapor-kart:hover { transform: translateY(-1px); border-color: var(--ss-lacivert-3); color: var(--ss-metin); box-shadow: 0 8px 20px rgba(22,18,63,.09); }
.rapor-kart i { font-size: 1.4rem; color: var(--ss-kirmizi); line-height: 1; margin-top: 2px; }
.rapor-kart strong { display: block; color: var(--ss-lacivert); }
.rapor-kart span { font-size: .82rem; color: var(--ss-soluk); }

.rapor-sayfa { background: #fff; padding: 10mm 10mm 8mm; border-radius: var(--ss-radius); border: 1px solid var(--ss-kenarlik); }
.rapor-sayfa .rapor-tablo { font-size: .85rem; }
.rapor-sayfa .rapor-tablo th { white-space: nowrap; }
.rapor-sayfa .rapor-tablo td.sag, .rapor-sayfa .rapor-tablo th.sag { text-align: right; white-space: nowrap; }
.rapor-sayfa .rapor-tablo tr.tikla { cursor: pointer; }
.rapor-sayfa .rapor-tablo tr.tikla:hover td { background: #f7f8fc; }
.rapor-sayfa .rapor-tablo tr.grup td { background: #eef0f6; font-weight: 700; color: var(--ss-lacivert); }
.rapor-sayfa .rapor-tablo tr.ara-toplam td { background: #fafbfd; font-weight: 600; }
.rapor-sayfa .rapor-tablo td.bos-kolon { min-width: 60px; }
.satir-uyari td { background: #fff4f4; }
.satir-soluk td { color: #9a9fb5; }
.satir-iade td { color: #b00010; }
.rapor-not { font-size: .82rem; color: var(--ss-soluk); margin: 4px 0 0; padding-left: 18px; }
.rapor-tablo-baslik { font-size: .95rem; font-weight: 700; margin: 14px 0 6px; color: var(--ss-lacivert); }

@page yatay { size: A4 landscape; margin: 10mm; }
@media print {
    .rapor-sayfa { border: 0; padding: 0; }
    .rapor-yatay { page: yatay; }
    .rapor-sayfa .rapor-tablo { font-size: 10.5px; }
    .rapor-sayfa .rapor-tablo th, .rapor-sayfa .rapor-tablo td { padding: 3px 5px; }
    .rapor-sayfa .rapor-tablo th { font-size: 9px; }
    .rapor-sayfa .rapor-tablo td.bos-kolon { height: 8mm; }
    .rapor-sayfa .ikincil-kolon { display: table-cell !important; }
    .satir-uyari td { background: #fff4f4 !important; }
}
@media screen and (max-width: 991.98px) {
    .rapor-sayfa { padding: 12px; }
    .rapor-sayfa .ikincil-kolon { display: none; }
}

/* ================================================================ Tanımlar */
.tanim-sekme { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.tanim-sekme .nav-link { white-space: nowrap; }
.tablo tr.tanim-pasif td { color: #9a9fb5; }
.tablo tr.tanim-secili td { background: #fff7e6; }
.tanim-form { position: sticky; top: 84px; }
@media (max-width: 1199.98px) { .tanim-form { position: static; } }
.belge-matris th { vertical-align: bottom; }
.belge-matris-baslik { display: inline-block; max-width: 70px; font-size: .68rem; line-height: 1.15; white-space: normal; text-transform: none; }
.tablo td:last-child .d-flex { flex-wrap: nowrap; }

/* ------------------------------------------------------------ Küçük düğme */
.btn-xs { --bs-btn-padding-y: .1rem; --bs-btn-padding-x: .45rem; --bs-btn-font-size: .75rem; --bs-btn-border-radius: 999px; }

/* ------------------------------------------------------------ Duyurular */
.duyuru-liste { display: grid; gap: 10px; }
.duyuru-satir { display: grid; grid-template-columns: 96px 1fr auto; gap: 14px; align-items: center; padding: 12px; }
.duyuru-satir.soluk { opacity: .72; }
.duyuru-kucuk { width: 96px; height: 64px; border-radius: 10px; background: var(--ss-zemin); display: flex; align-items: center; justify-content: center; overflow: hidden; color: var(--ss-soluk); font-size: 1.4rem; }
.duyuru-kucuk img { width: 100%; height: 100%; object-fit: cover; }
.duyuru-govde { min-width: 0; }
.duyuru-baslik { display: block; font-weight: 600; color: var(--ss-metin); text-decoration: none; margin-bottom: 2px; }
.duyuru-baslik:hover { color: var(--ss-kirmizi); }
.duyuru-islem { display: flex; gap: 6px; align-items: center; }
@media (max-width: 575.98px) {
    .duyuru-satir { grid-template-columns: 64px 1fr; }
    .duyuru-kucuk { width: 64px; height: 48px; }
    .duyuru-islem { grid-column: 1 / -1; justify-content: flex-end; }
}
.duyuru-gorsel-cerceve { aspect-ratio: 16 / 9; border-radius: 12px; background: var(--ss-zemin); border: 1px dashed var(--ss-kenarlik); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.duyuru-gorsel-cerceve img { width: 100%; height: 100%; object-fit: cover; }
.duyuru-onizleme { background: #fff; border: 1px solid var(--ss-kenarlik); border-radius: 14px; overflow: hidden; }
.duyuru-onizleme img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.duyuru-onizleme time { font-size: .75rem; color: var(--ss-kirmizi); font-weight: 600; }
.duyuru-onizleme h3 { font-size: 1rem; margin: 4px 0 6px; overflow-wrap: anywhere; }
.duyuru-onizleme p { font-size: .85rem; color: var(--ss-soluk); margin: 0; overflow-wrap: anywhere; }

/* ------------------------------------------------------------ Zil (bildirimler) */
.zil-dugme { position: relative; color: var(--ss-lacivert); }
.zil-dugme .bi { font-size: 1.2rem; }
.zil-sayac {
    position: absolute; top: 3px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px;
    border-radius: 999px; background: var(--ss-kirmizi); color: #fff; font-size: .68rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff;
}
.zil-menu { width: min(360px, calc(100vw - 24px)); padding: 0; border-radius: 14px; overflow: hidden; }
.zil-ust { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--ss-kenarlik); }
.zil-liste { max-height: min(420px, 60vh); overflow-y: auto; }
.zil-bos { padding: 28px 14px; text-align: center; color: var(--ss-soluk); font-size: .88rem; }
.zil-oge { display: flex; gap: 10px; padding: 10px 14px; text-decoration: none; color: var(--ss-metin); border-bottom: 1px solid var(--ss-kenarlik); }
.zil-oge:hover { background: var(--ss-zemin); color: var(--ss-metin); }
.zil-oge.okunmamis { background: #f4f3ff; }
.zil-oge.okunmamis strong::after { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ss-kirmizi); margin-left: 6px; vertical-align: middle; }
.zil-metin { min-width: 0; display: flex; flex-direction: column; }
.zil-metin strong { font-size: .86rem; }
.zil-metin small { color: var(--ss-soluk); font-size: .78rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zil-metin em { font-style: normal; font-size: .72rem; color: var(--ss-soluk); margin-top: 2px; }
.zil-alt { display: block; text-align: center; padding: 10px; font-size: .84rem; font-weight: 600; text-decoration: none; background: #fafbfd; }
.bildirim-ikon { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.bildirim-liste .list-group-item { padding: 0; }
.bildirim-liste .list-group-item.okunmamis { background: #f4f3ff; }
.bildirim-oge { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; color: var(--ss-metin); text-decoration: none; }
.bildirim-oge:hover { color: var(--ss-metin); background: var(--ss-zemin); }
.min-w-0 { min-width: 0; }

/* ------------------------------------------------------------ Eğitmen ekranı (Görevlerim) */
.eg-ust { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 18px; }
.eg-ust h1 { font-size: 1.5rem; margin: 0; }
.eg-ust p { margin: 0; color: var(--ss-soluk); }
.eg-sayac { display: flex; gap: 8px; flex-wrap: wrap; }
.eg-sayac > div { background: #fff; border: 1px solid var(--ss-kenarlik); border-radius: 12px; padding: 8px 12px; min-width: 96px; }
.eg-sayac strong { display: block; font-size: 1.1rem; color: var(--ss-lacivert); }
.eg-sayac span { font-size: .72rem; color: var(--ss-soluk); }
.eg-bolum { margin-bottom: 22px; }
.eg-bolum-baslik { font-size: 1.05rem; font-weight: 700; margin-bottom: 10px; }
.eg-gun { font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; color: var(--ss-soluk); margin: 14px 0 8px; font-weight: 700; }
.eg-bos { background: #fff; border: 1px dashed var(--ss-kenarlik); border-radius: 12px; padding: 16px; color: var(--ss-soluk); text-align: center; font-size: .9rem; }
.eg-kart { display: grid; grid-template-columns: 70px 1fr; background: #fff; border: 1px solid var(--ss-kenarlik); border-radius: 14px; margin-bottom: 10px; overflow: hidden; box-shadow: var(--ss-golge); }
.eg-kart.bekliyor { border-color: #f5c56b; box-shadow: 0 0 0 3px rgba(245, 197, 107, .25); }
.eg-kart.tamam { opacity: .8; }
.eg-kart-saat { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: var(--ss-zemin); color: var(--ss-lacivert); text-decoration: none; padding: 10px 4px; text-align: center; }
.eg-kart-saat strong { font-size: 1.1rem; }
.eg-kart-saat small { font-size: .72rem; color: var(--ss-soluk); }
.eg-kart-govde { padding: 10px 12px; min-width: 0; }
.eg-kart-baslik { display: flex; flex-wrap: wrap; gap: 6px; text-decoration: none; margin-bottom: 6px; }
.eg-ogrenciler { list-style: none; padding: 0; margin: 0 0 4px; }
.eg-ogrenciler li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 3px 0; font-weight: 600; }
.eg-tel { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #e8f7ee; color: #198754; text-decoration: none; }
.eg-tel:hover { background: #198754; color: #fff; }
.eg-kart-bilgi { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .82rem; color: var(--ss-soluk); }
.eg-kart-bilgi .bi { margin-right: 4px; }
.eg-kart-not { font-size: .82rem; color: var(--ss-soluk); margin-top: 4px; }
.eg-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; }
.eg-dl dt { font-weight: 600; color: var(--ss-soluk); font-size: .85rem; white-space: nowrap; }
.eg-dl dd { margin: 0; }
.eg-ogrenci .gorev-not { padding-left: 0; }
.eg-gecmis summary { cursor: pointer; color: var(--ss-lacivert-3); }
@media (max-width: 575.98px) {
    .tamamla-alt { position: sticky; bottom: 0; z-index: 5; }
    .tamamla-alt .btn { flex: 1 1 auto; }
}
