/* =====================================================================
   Füzyon Akademi - Kurumsal Tema
   Orijinal style.css'in üzerine yazar. Kaldırmak için index.html'deki
   tema.css satırını silmeniz yeterli.
   ===================================================================== */
:root {
    --t-lacivert: #0d2d4f;
    --t-lacivert-2: #13406e;
    --t-turuncu: #f47b20;
    --t-zemin: #f4f6f9;
    --t-yuzey: #ffffff;
    --t-cizgi: #e5e7eb;
    --t-yazi: #1f2937;
    --t-soluk: #64748b;
    --t-baslik-zemin: #f1f5f9;
    --t-golge: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
}

body {
    background: var(--t-zemin);
    color: var(--t-yazi);
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- Giriş ekranı ---------- */
.login-container {
    background: var(--t-lacivert);
    background-image: none;
    animation: none;
}
.login-container::before { display: none; }
.login-card {
    background: var(--t-yuzey);
    backdrop-filter: none;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    border-top: 4px solid var(--t-turuncu);
    animation: none;
}
.login-card::before { display: none; }
.login-logo, .login-logo:hover { filter: none; transform: none; }
.login-header p { color: var(--t-soluk); font-weight: 500; }
.login-form input {
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}
.login-form input:hover { transform: none; box-shadow: none; background: #fff; border: 1px solid #9ca3af; }
.login-form input:focus {
    transform: none;
    border: 1px solid var(--t-lacivert);
    box-shadow: 0 0 0 3px rgba(13, 45, 79, 0.12);
}
.login-form .sifre-kapsayici { margin-bottom: 18px; }
.login-form .sifre-kapsayici input { margin-bottom: 0; }
.login-btn {
    background: var(--t-lacivert);
    border-radius: 6px;
    box-shadow: none;
}
.login-btn:hover {
    background: var(--t-lacivert-2);
    transform: none;
    animation: none;
    box-shadow: none;
}
.login-btn::before { display: none; }
.login-btn:hover i { transform: none; animation: none; }
.login-footer { color: var(--t-soluk); font-size: 0.85rem; }
.login-footer::before, .login-footer::after { display: none; }
.login-error {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    box-shadow: none;
}
.login-error i { color: #b91c1c; }

/* ---------- Sol menü (her zaman açık) ---------- */
.sidebar, .sidebar:hover {
    width: 250px;
    min-width: 250px;
}
.sidebar {
    background: var(--t-lacivert);
    backdrop-filter: none;
    border-right: none;
    align-items: stretch;
    padding: 20px 12px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
.sidebar-brand {
    background: #fff;
    border-radius: 8px;
    padding: 10px;
    margin: 0 4px 24px;
    text-align: center;
}
.sidebar-brand img {
    display: block;
    max-width: 100%;
    max-height: 70px;
    margin: 0 auto;
}
.sidebar-btn {
    color: rgba(255, 255, 255, 0.78);
    padding: 12px 14px;
    margin-bottom: 4px;
    border-radius: 8px;
    border-left: 3px solid transparent;
    font-size: 15px;
}
.sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    transform: none;
    box-shadow: none;
}
.sidebar-btn.active {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border-left-color: var(--t-turuncu);
    box-shadow: none;
    font-weight: 600;
}
.sidebar-btn i {
    font-size: 17px;
    width: 22px;
    min-width: 22px;
    text-align: center;
    margin-right: 12px;
}
.sidebar-btn span { opacity: 1; }
.sidebar-footer { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.sidebar-user { color: rgba(255, 255, 255, 0.7); }
.sidebar-logout-btn {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 6px;
}
.sidebar-logout-btn:hover {
    background: #dc2626;
    border-color: #dc2626;
    transform: none;
}

/* ---------- İçerik alanı ---------- */
.main-content { padding: 24px 28px; }

.page-header {
    background: var(--t-yuzey);
    backdrop-filter: none;
    border: 1px solid var(--t-cizgi);
    border-radius: 10px;
    box-shadow: var(--t-golge);
    padding: 18px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.page-title {
    color: var(--t-lacivert);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 0;
}
.page-subtitle { color: var(--t-soluk); }

/* Raporlar başlığı */
#reportsPage .page-header {
    background: var(--t-yuzey);
    color: var(--t-yazi);
    flex-direction: row !important;
    align-items: center !important;
    padding: 18px 22px;
    border-radius: 10px;
    box-shadow: var(--t-golge);
}
#reportsPage .page-title { color: var(--t-lacivert); font-size: 22px; margin-bottom: 0; }
#reportsPage .page-header > div { margin-top: 0 !important; }
#reportsPage input[type="month"] {
    border: 1px solid #d1d5db;
    box-shadow: none;
    border-radius: 6px;
    padding: 9px 12px;
}
#reportsPage .btn-secondary {
    background: #fff;
    color: var(--t-lacivert);
    border: 1px solid #cbd5e1;
    padding: 9px 16px;
    border-radius: 6px;
}
#reportsPage .btn-secondary:hover { background: var(--t-baslik-zemin); transform: none; }

/* ---------- Kartlar ve tablolar ---------- */
.dashboard-card, .table-container, .debt-summary, #reportsPage .table-container {
    background: var(--t-yuzey);
    backdrop-filter: none;
    border: 1px solid var(--t-cizgi);
    border-radius: 10px;
    box-shadow: var(--t-golge);
}
.dashboard-card:hover { transform: none; box-shadow: var(--t-golge); }
.card-icon { border-radius: 10px; }
.card-icon.blue { background: var(--t-lacivert); }
.card-icon.orange { background: var(--t-turuncu); }
.card-icon.green { background: #16a34a; }
.card-icon.red { background: #dc2626; }
.card-title { color: var(--t-soluk); font-weight: 600; font-size: 14px; }
.card-value { color: var(--t-lacivert); }

.table-title, #reportsPage .table-title {
    color: var(--t-lacivert);
    font-size: 17px;
    font-weight: 700;
    background: none;
    padding: 0;
}
#reportsPage .table-container { padding: 22px; }

th, #reportsPage th, .student-detail-table th {
    background: var(--t-baslik-zemin);
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid var(--t-cizgi);
}
#classicStudentsTable th:nth-child(1) { background: var(--t-baslik-zemin); }
tr:hover, #reportsPage tr:hover, .student-detail-table tr:hover { background: #f8fafc; }
td { border-bottom: 1px solid #f1f5f9; }

#studentsPage .table-container::-webkit-scrollbar-thumb { background: #94a3b8; }

/* ---------- Butonlar ---------- */
.btn {
    border-radius: 6px;
    font-weight: 500;
}
.btn:hover { transform: none !important; }
.btn-primary { background: var(--t-lacivert); color: #fff; }
.btn-primary:hover { background: var(--t-lacivert-2); box-shadow: none; }
.btn-secondary {
    background: #fff;
    color: var(--t-lacivert);
    border: 1px solid #cbd5e1;
}
.btn-secondary:hover { background: var(--t-baslik-zemin); box-shadow: none; }
.btn-danger { background: #dc2626; color: #fff; }
.btn-danger:hover { background: #b91c1c; box-shadow: none; }
.btn-warning { background: #f59e0b; color: #fff; }
.btn-warning:hover { background: #d97706; box-shadow: none; }
.btn-success { background: #16a34a; color: #fff; }
.btn-success:hover { background: #15803d; box-shadow: none; }
.btn-info {
    background: #fff;
    color: var(--t-lacivert);
    border: 1px solid var(--t-lacivert);
}
.btn-info:hover { background: var(--t-lacivert); color: #fff; }

/* ---------- Form elemanları ---------- */
.form-input, .form-select, .form-textarea {
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
    border-color: var(--t-lacivert);
    box-shadow: 0 0 0 3px rgba(13, 45, 79, 0.12);
}
.form-checkbox input[type="checkbox"] { accent-color: var(--t-lacivert); }

/* ---------- Pencereler ---------- */
.modal { backdrop-filter: blur(2px); }
.modal-content { border-radius: 10px; }
.modal-title { color: var(--t-lacivert); font-size: 20px; }
.modal-header, .form-actions { border-color: var(--t-cizgi); }

.password-verification-header { background: var(--t-lacivert); }

/* ---------- Rapor kartları ---------- */
.reports-grid .report-card,
.reports-grid .report-card:nth-child(n) {
    background: var(--t-yuzey) !important;
    border: 1px solid var(--t-cizgi);
    border-left: 4px solid var(--t-lacivert);
    border-radius: 10px;
    box-shadow: var(--t-golge) !important;
    padding: 20px 22px;
}
.reports-grid .report-card:hover { transform: none; }
.reports-grid .report-card::before { display: none; }
.reports-grid .report-card,
.reports-grid .report-card * { color: var(--t-yazi) !important; }
.reports-grid .report-card .report-title { color: var(--t-soluk) !important; font-size: 14px; font-weight: 600; }
.reports-grid .report-card .report-value { color: var(--t-lacivert) !important; font-size: 26px; font-weight: 700; margin: 6px 0; }
.reports-grid .report-card .report-subtitle,
.reports-grid .report-card .report-subtitle * { color: var(--t-soluk) !important; }
.reports-grid .report-card.green { border-left-color: #16a34a; }
.reports-grid .report-card.blue { border-left-color: #2563eb; }
.reports-grid .report-card.orange { border-left-color: var(--t-turuncu); }
.reports-grid .report-card.purple { border-left-color: #7c3aed; }
.reports-grid .report-card.teal { border-left-color: #0d9488; }
.reports-grid .report-card.red { border-left-color: #dc2626; }

/* ---------- Harcama özet kartları ---------- */
.expense-card {
    background: var(--t-yuzey) !important;
    border-top: 1px solid var(--t-cizgi);
    border-right: 1px solid var(--t-cizgi);
    border-bottom: 1px solid var(--t-cizgi);
    box-shadow: var(--t-golge);
}

/* ---------- Rozetler ---------- */
.status-badge { text-transform: none; }
.badge-modern {
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
    box-shadow: none;
    min-width: 0;
}
.badge-modern.badge-success { background: #16a34a; border-color: #16a34a; box-shadow: none; }
.badge-modern.badge-danger { background: #dc2626; border-color: #dc2626; box-shadow: none; }
.badge-modern.badge-warning { background: #f59e0b; border-color: #f59e0b; box-shadow: none; }
/* ===================== BELIRGIN-TEMA ===================== */

/* ---------- Kartlar ve kutular: daha belirgin çerçeve ve gölge ---------- */
.page-header,
.dashboard-card,
.table-container,
#reportsPage .table-container,
.expense-card,
.reports-grid .report-card {
    border-color: #cfd8e3 !important;
    box-shadow: 0 2px 8px rgba(13, 45, 79, 0.10) !important;
}

/* ---------- Tablo başlıkları (Harcama Listesi, Gelir Detayları...) ---------- */
.table-title,
#reportsPage .table-title {
    font-size: 18px;
    color: var(--t-lacivert);
    border-left: 4px solid var(--t-turuncu);
    padding-left: 10px !important;
    margin-bottom: 14px;
}

/* ---------- Tablolar ---------- */
table {
    border: 1px solid #cfd8e3;
    margin-top: 10px;
}
th,
#reportsPage th,
.student-detail-table th,
.debt-table th {
    background: var(--t-lacivert) !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.2px;
    border-bottom: none !important;
}
/* Öğrenci tablosunda sabit ilk başlık hücresi de lacivert olsun */
#classicStudentsTable thead th:first-child {
    background: var(--t-lacivert) !important;
    background-image: none !important;
}
td,
#reportsPage td {
    color: #1f2937;
    border-bottom: 1px solid #e2e8f0 !important;
}
/* Satırlar sırayla hafif gri (renkli durum satırları hariç) */
tbody tr:nth-child(even):not([class*="payment-row"]) {
    background: #f8fafc;
}
#classicStudentsTable tbody tr:nth-child(even) td:first-child {
    background: #f8fafc;
}
tbody tr:not([class*="payment-row"]):hover,
#reportsPage tbody tr:hover {
    background: #eef3f9 !important;
}

/* ---------- Filtre çubukları: beyaz kart içinde yan yana ---------- */
.filter-bar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px !important;
    background: #ffffff;
    border: 1px solid #cfd8e3;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(13, 45, 79, 0.10);
    padding: 16px;
    margin-bottom: 20px !important;
}
.filter-bar > * {
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
}
.filter-bar .btn {
    justify-content: center;
}

/* ---------- Giriş kutuları ---------- */
.form-input,
.form-select,
.form-textarea {
    border: 1px solid #b8c4d2 !important;
    color: #1f2937;
}
/* ===================== RESPONSIVE-TEMA ===================== */

/* Tüm ekranlar: geniş tablolar sayfayı değil kendi kutusunu kaydırsın */
.main-content { min-width: 0; }
.table-container, #reportsPage .table-container, #paymentHistoryTableArea {
    overflow-x: auto !important;
}

/* ---------- Tablet ve telefon ---------- */
@media (max-width: 900px) {
    .dashboard-container { flex-direction: column; }

    /* Sol menü -> üstte yatay şerit */
    .sidebar, .sidebar:hover {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        position: sticky;
        top: 0;
        z-index: 500;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
        overflow-x: auto;
        overflow-y: hidden;
    }
    .sidebar-brand { margin: 0; padding: 4px 8px; flex: none; }
    .sidebar-brand img { max-height: 34px; }
    .sidebar-menu { display: flex; flex-direction: row; gap: 4px; flex: none; }
    .sidebar-btn {
        width: auto;
        margin: 0;
        padding: 8px 12px;
        white-space: nowrap;
        border-left: none;
        border-bottom: 3px solid transparent;
        border-radius: 6px;
        font-size: 14px;
    }
    .sidebar-btn.active { border-bottom-color: var(--t-turuncu); }
    .sidebar-btn i { margin-right: 6px; }
    .sidebar-footer {
        margin: 0 0 0 auto;
        padding: 0;
        border-top: none;
        width: auto;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        flex: none;
    }
    .sidebar-user { margin: 0; white-space: nowrap; }
    .sidebar-logout-btn { width: auto; padding: 8px 12px; white-space: nowrap; }

    .main-content { padding: 14px; }
    .dashboard-card { overflow-x: auto; }
    table { min-width: 560px; }

    /* Raporlar başlığındaki seçiciler alt satıra geçebilsin */
    #reportsPage .page-header > div { flex-wrap: wrap !important; }
}

/* ---------- Telefon ---------- */
@media (max-width: 600px) {
    .page-title, #reportsPage .page-title { font-size: 19px; }
    .page-header { padding: 14px 16px; }
    .page-header .btn, .page-header .table-actions { width: 100%; justify-content: center; }
    .dashboard-grid, .reports-grid, .expense-summary-cards { grid-template-columns: 1fr !important; }
    .card-value { font-size: 26px; }
    .reports-grid .report-card .report-value { font-size: 22px; }
    .sidebar-user { display: none; }

    /* Pencereler ekrana sığsın */
    .modal-content, .password-verification-content {
        width: 95% !important;
        max-width: 95% !important;
        padding: 18px !important;
        max-height: 92vh;
        overflow-y: auto;
    }
    .modal-title { font-size: 18px !important; }
    .form-actions { flex-wrap: wrap; }
    .form-actions .btn { flex: 1; justify-content: center; }

    /* Giriş ekranı */
    .login-container { padding: 16px; }
    .login-card { padding: 30px 22px 24px; }
    .login-logo { width: 160px; }
}
/* ===================== MOBIL-TABLO ===================== */

/* Tüm ekranlar: rozetler hiçbir zaman ikiye bölünmesin */
td .badge, td .status-badge, td .badge-modern {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

@media (max-width: 900px) {
    /* Hücreler ve başlıklar tek satırda kalsın, tablo kutu içinde kaysın */
    th, td, #reportsPage th, #reportsPage td {
        white-space: nowrap;
        padding: 10px 12px !important;
        font-size: 13px;
    }

    /* Uzun metin sütunları alt satıra geçebilsin ama okunaklı genişlikte */
    #incomeDetailsTable td:last-child,
    .student-detail-table td:nth-child(4),
    #expensesTable td:nth-child(7) {
        white-space: normal;
        min-width: 260px;
    }
}
/* ===================== ACIKLAMA-GENIS ===================== */
@media (max-width: 900px) {
    #incomeDetailsTable td:last-child {
        min-width: 380px;
        line-height: 1.45;
    }
}
/* ===================== HAMBURGER-MENU ===================== */

/* Öğrenci Adı sütunu diğerleriyle birlikte kaysın (sabitleme kaldırıldı) */
#classicStudentsTable th:nth-child(1),
#classicStudentsTable td:nth-child(1) {
    position: static !important;
    box-shadow: none !important;
}

/* Masaüstünde ☰ butonu görünmez */
.menu-toggle { display: none; }

@media (max-width: 900px) {
    .sidebar, .sidebar:hover {
        flex-wrap: wrap;
        overflow: visible !important;
    }
    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        width: 44px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 8px;
        color: #fff;
        font-size: 20px;
        cursor: pointer;
    }

    /* Menü kapalıyken sadece logo ve ☰ görünsün */
    .sidebar-menu, .sidebar-footer { display: none !important; }

    /* Menü açıkken alt alta liste */
    .sidebar.acik {
        max-height: 100vh;
        overflow-y: auto !important;
    }
    .sidebar.acik .sidebar-menu {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        gap: 2px;
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }
    .sidebar.acik .sidebar-btn {
        width: 100%;
        padding: 12px 14px;
        border-bottom: none;
        border-left: 3px solid transparent;
        font-size: 15px;
    }
    .sidebar.acik .sidebar-btn.active { border-left-color: var(--t-turuncu); }
    .sidebar.acik .sidebar-footer {
        display: flex !important;
        width: 100%;
        margin: 6px 0 0;
        padding: 10px 4px 4px;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        justify-content: space-between;
        align-items: center;
    }
    .sidebar.acik .sidebar-user { display: block !important; }
}
/* ===================== DASHBOARD-YENI ===================== */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}
.kpi-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #cfd8e3;
    border-left: 4px solid var(--renk);
    border-radius: 10px;
    padding: 16px 18px;
    box-shadow: 0 2px 8px rgba(13, 45, 79, 0.10);
    cursor: pointer;
    transition: box-shadow 0.15s, transform 0.15s;
}
.kpi-card:hover { box-shadow: 0 6px 16px rgba(13, 45, 79, 0.16); transform: translateY(-1px); }
.kpi-ikon {
    width: 46px; height: 46px; flex: none;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; color: #fff;
    background: var(--renk);
}
.kpi-baslik { font-size: 13px; color: #64748b; font-weight: 600; }
.kpi-deger { font-size: 24px; font-weight: 700; color: #0d2d4f; line-height: 1.2; }
.kpi-alt { font-size: 12px; color: #64748b; }
.kpi-lacivert { --renk: #0d2d4f; }
.kpi-kirmizi { --renk: #dc2626; }
.kpi-yesil { --renk: #16a34a; }
.kpi-turuncu { --renk: #f47b20; }
.kpi-mor { --renk: #7c3aed; }

.hizli-islemler { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.hizli-islemler .btn { padding: 11px 18px; font-weight: 600; }

.dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dash-grid > .table-container { margin: 0; }
.dash-tam { grid-column: 1 / -1; }
.grafik-kutu { position: relative; height: 280px; }

.kurs-satir { margin-bottom: 12px; }
.kurs-ust { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 4px; }
.kurs-bar { height: 10px; background: #e2e8f0; border-radius: 6px; overflow: hidden; }
.kurs-bar > div { height: 100%; background: #0d2d4f; border-radius: 6px; }
.kurs-not { margin-top: 14px; padding-top: 10px; border-top: 1px solid #e2e8f0; font-size: 13px; color: #475569; }

.bos-satir { text-align: center; padding: 18px !important; color: #64748b; }
.gecikme-rozet {
    background: #fee2e2; color: #b91c1c;
    padding: 3px 10px; border-radius: 12px;
    font-weight: 600; font-size: 12px; white-space: nowrap;
}
.iletisim-hucre { white-space: nowrap; }
.iletisim-ara, .iletisim-wa { padding: 6px 10px !important; color: #fff !important; text-decoration: none; }
.iletisim-ara { background: #0d2d4f; }
.iletisim-wa { background: #25d366; }

@media (max-width: 900px) {
    .dash-grid { grid-template-columns: 1fr; }
    .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .kpi-grid { grid-template-columns: 1fr; }
    .hizli-islemler .btn { flex: 1 1 100%; justify-content: center; }
}
/* ===================== RAPOR-BOLUM ===================== */
#reportsSummaryCards { display: block !important; }
.rapor-bolum {
    background: #ffffff;
    border: 1px solid #cfd8e3;
    border-radius: 10px;
    padding: 18px 18px 20px;
    margin-bottom: 22px;
    box-shadow: 0 2px 8px rgba(13, 45, 79, 0.10);
}
.rapor-aylik { border-top: 4px solid var(--t-turuncu); }
.rapor-yillik { border-top: 4px solid var(--t-lacivert); background: #f1f5f9; }
.rapor-bolum-baslik {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--t-lacivert);
    margin-bottom: 16px;
}
.rapor-etiket {
    background: var(--t-lacivert);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 12px;
}
.rapor-aylik .rapor-etiket { background: var(--t-turuncu); }
.rapor-kartlar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.rapor-kartlar .report-card { margin: 0; }
@media (max-width: 900px) {
    .rapor-kartlar { grid-template-columns: 1fr; }
    .rapor-bolum-baslik { font-size: 16px; flex-wrap: wrap; }
}
/* ===================== SINIF-SAYFASI ===================== */
.hoca-secim { display: flex; flex-wrap: wrap; gap: 8px; }
.hoca-secim label {
    display: flex; align-items: center; gap: 8px; margin: 0;
    padding: 8px 12px; border: 1px solid #cfd8e3; border-radius: 8px; cursor: pointer;
}
.ogrenci-secim {
    max-height: 300px; overflow-y: auto;
    border: 1px solid #cfd8e3; border-radius: 8px; padding: 6px;
}
.ogrenci-secim label {
    display: flex; align-items: center; gap: 10px; margin: 0;
    padding: 8px 10px; border-radius: 6px; cursor: pointer;
}
.ogrenci-secim label:hover, .hoca-secim label:hover { background: #f1f5f9; }
.ogrenci-secim small { margin-left: auto; color: #64748b; white-space: nowrap; }
.ogrenci-secim input, .hoca-secim input { width: 17px; height: 17px; accent-color: var(--t-lacivert); }
/* ===================== YOKLAMA-EKRANI ===================== */
.yoklama-secim { display: flex; gap: 10px; flex-wrap: wrap; }
.yoklama-secim .form-select, .yoklama-secim .form-input { width: auto; min-width: 220px; }
.yoklama-durum { padding: 12px 14px; border-radius: 8px; margin-bottom: 14px; font-weight: 600; }
.durum-yok { background: #f1f5f9; color: #334155; }
.durum-bekliyor { background: #fef3c7; color: #92400e; }
.durum-onaylandi { background: #dcfce7; color: #166534; }
.yoklama-ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.yoklama-ozet { color: #334155; font-size: 15px; }
.yoklama-liste { border: 1px solid #cfd8e3; border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.yoklama-satir {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 10px 14px; border-bottom: 1px solid #e2e8f0; background: #fff;
}
.yoklama-satir:last-child { border-bottom: none; }
.yoklama-satir.geldi { background: #f0fdf4; }
.yoklama-satir.gelmedi { background: #fef2f2; }
.yoklama-no { width: 28px; color: #64748b; font-weight: 600; }
.yoklama-ad { flex: 1; min-width: 140px; font-weight: 600; font-size: 15px; }
.yoklama-butonlar { display: flex; gap: 8px; }
.yk-btn {
    min-width: 100px; padding: 9px 14px; border-radius: 8px;
    border: 2px solid #cbd5e1; background: #fff; color: #334155;
    font-weight: 600; cursor: pointer;
}
.yk-btn.geldi.secili { background: #16a34a; border-color: #16a34a; color: #fff; }
.yk-btn.gelmedi.secili { background: #dc2626; border-color: #dc2626; color: #fff; }
.yoklama-rozet { padding: 4px 12px; border-radius: 12px; color: #fff; font-weight: 600; font-size: 13px; }
.yoklama-rozet.geldi { background: #16a34a; }
.yoklama-rozet.gelmedi { background: #dc2626; }
tr.tiklanabilir { cursor: pointer; }
@media (max-width: 600px) {
    .yoklama-secim, .yoklama-secim .form-select, .yoklama-secim .form-input { width: 100%; min-width: 0; }
    .yoklama-butonlar { width: 100%; }
    .yk-btn { flex: 1; }
    #yoklamaGonderBtn { width: 100%; justify-content: center; }
}
/* ===================== YOKLAMA-ONAY ===================== */
.menu-rozet {
    margin-left: auto;
    background: var(--t-turuncu);
    color: #fff;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
}
.yk-bilgi {
    display: flex; flex-wrap: wrap; gap: 8px 18px;
    margin-bottom: 12px; color: #334155; font-size: 14px;
}
.yk-bilgi i { color: var(--t-lacivert); margin-right: 4px; }
.yoklama-satir .iletisim-ara { font-size: 12px; }
/* ===================== YOKLAMA-IADE ===================== */
.durum-iade { background: #fee2e2; color: #991b1b; }
.menu-rozet.kirmizi { background: #dc2626; }
.yk-iade-alan {
    display: flex; flex-direction: column; gap: 8px;
    border: 1px solid #fecaca; background: #fff7f7;
    border-radius: 8px; padding: 12px; margin-bottom: 12px;
}
.yk-iade-alan .btn { align-self: flex-start; }
/* ===================== YOKLAMA-CIZELGE ===================== */
.cz-ust { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.cz-ust .table-title { margin-bottom: 0; }
.cz-araclar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.cz-araclar .form-select, .cz-araclar .form-input { width: auto; min-width: 180px; padding: 8px 12px; }
.cz-onay { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; white-space: nowrap; }
.cz-baslik { font-weight: 700; color: var(--t-lacivert); font-size: 16px; margin: 6px 0; }
.cz-lejant { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #475569; margin-bottom: 6px; }
.cz-lejant b { display: inline-block; width: 22px; text-align: center; border-radius: 4px; margin-right: 4px; }
.cz-bekleyen-ornek { background: #fff; outline: 2px dashed #f59e0b; outline-offset: -3px; opacity: .8; }

#cizelgeTable th.cz-tarih { text-align: center; line-height: 1.2; }
#cizelgeTable th.cz-bekleyen { background: #92400e !important; }
.cz-hucre { text-align: center; font-weight: 700; font-size: 16px; min-width: 58px; }
.cz-geldi { background: #dcfce7 !important; color: #15803d; }
.cz-gelmedi { background: #fee2e2 !important; color: #b91c1c; }
.cz-yok { color: #94a3b8; }
td.cz-bekleyen { opacity: .6; outline: 2px dashed #f59e0b; outline-offset: -3px; }
.cz-sayi { text-align: center; font-weight: 700; }
.cz-dusuk { color: #dc2626 !important; }
#cizelgeTable tfoot td { font-weight: 700; background: #f1f5f9; text-align: center; }
#cizelgeTable tfoot td:first-child { text-align: left; }

@media (max-width: 600px) {
    .cz-araclar, .cz-araclar .form-select, .cz-araclar .form-input { width: 100%; min-width: 0; }
}

/* Yazdırma: sadece çizelge, yatay sayfa */
@media print {
    @page { size: landscape; margin: 12mm; }
    body.cizelge-yazdir * { visibility: hidden !important; }
    body.cizelge-yazdir #cizelgeKart, body.cizelge-yazdir #cizelgeKart * { visibility: visible !important; }
    body.cizelge-yazdir #cizelgeKart { position: absolute; left: 0; top: 0; width: 100%; border: none !important; box-shadow: none !important; }
    body.cizelge-yazdir .cz-araclar { display: none !important; }
    body.cizelge-yazdir #cizelgeTable { min-width: 0 !important; font-size: 11px; }
    body.cizelge-yazdir .cz-geldi, body.cizelge-yazdir .cz-gelmedi, body.cizelge-yazdir #cizelgeTable th {
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
}
/* CIZELGE-MOBIL */
#cizelgeKart{overflow-x:visible !important;max-width:100%}
#cizelgeKart .cz-kaydir{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
#cizelgeKart h2,#cizelgeKart h3{white-space:normal;word-break:break-word}
@media (max-width:600px){
  #cizelgeKart select,#cizelgeKart input[type="month"]{width:100%}
}
/* DERS-SAATLERI */
.ders-saatleri{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.saat-satir{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.saat-satir select{flex:1 1 140px;min-width:120px}
.saat-satir input[type="time"]{flex:0 1 120px;min-width:100px}
.sinif-saat{color:#64748b;font-weight:400}
/* DERS-PROGRAMI */
.pg-ozet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pg-ozet span{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;color:#334155;font-size:14px}
.pg-ozet b{color:#0d2d4f;font-size:16px}
.pg-eksik{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:14px}
.pg-eksik:empty{display:none}
.link-btn{background:none;border:none;color:#c2410c;font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.pg-izgara{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}
.pg-gun-ad{background:#0d2d4f;color:#fff;font-weight:600;text-align:center;padding:10px 4px;font-size:14px;border-left:1px solid rgba(255,255,255,.15)}
.pg-bugun .pg-gun-ad{background:#f47b20}
.pg-bugun .pg-gun-govde{background:#fffaf5}
.pg-gun-govde{position:relative;border-left:1px solid #e2e8f0}
.pg-saatler .pg-gun-ad{border-left:none}
.pg-saatler .pg-gun-govde{border-left:none;background:#f8fafc}
.pg-saat{position:absolute;right:6px;font-size:11px;color:#64748b;margin-top:3px}
.pg-cizgi{position:absolute;left:0;right:0;border-top:1px dashed #e2e8f0}
.pg-ders{position:absolute;color:#fff;border-radius:6px;padding:4px 6px;font-size:12px;line-height:1.35;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column;box-sizing:border-box}
.pg-ders:hover{filter:brightness(1.12);z-index:2}
.pg-ders b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}
.pg-ders span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-ders span{opacity:.92}
.pg-liste{display:none}
.pg-liste-gun{margin-bottom:14px}
.pg-liste-gun h4{background:#0d2d4f;color:#fff;padding:8px 12px;border-radius:8px;margin:0 0 8px;font-size:15px}
.pg-liste-ders{border:1px solid #e2e8f0;border-left:5px solid;border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;background:#fff}
.pg-liste-ders small{display:block;color:#64748b;margin-top:3px}
@media (max-width:900px){ .pg-izgara{display:none} .pg-liste{display:block} }
@media print{
  body.program-yazdir .sidebar,body.program-yazdir .page:not(#schedulePage),body.program-yazdir #programYazdir,body.program-yazdir .pg-liste,body.program-yazdir .pg-eksik{display:none !important}
  body.program-yazdir .dashboard-container,body.program-yazdir .main-content{display:block !important;margin:0 !important;padding:0 !important;width:100% !important}
  body.program-yazdir #schedulePage{display:block !important}
  body.program-yazdir .pg-izgara{display:grid !important}
  body.program-yazdir .pg-ders,body.program-yazdir .pg-gun-ad{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* DERS-PROGRAMI-CAKISMA */
.pg-ozet .pg-uyari{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.pg-ozet .pg-uyari b{color:#b91c1c}
.pg-cakismalar{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:14px;line-height:1.6}
.pg-cakismalar:empty{display:none}
.pg-cakisma{outline:3px solid #dc2626;outline-offset:-3px}
.pg-liste-ders small.pg-cakisma-not{color:#dc2626;font-weight:600}
/* HATIRLATMA */
.hm-ust{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.hm-hepsi{display:flex;align-items:center;gap:6px;margin:0;font-weight:600}
#hmSayac{color:#64748b;font-size:14px;flex:1}
.hm-onizleme{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;font-size:14px;color:#14532d;margin-bottom:10px;white-space:pre-wrap}
.hm-liste{display:flex;flex-direction:column;gap:8px;max-height:45vh;overflow-y:auto;padding-right:4px}
.hm-satir{display:flex;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#fff}
.hm-satir.hm-aktif{border-color:#f47b20;box-shadow:0 0 0 2px rgba(244,123,32,.25)}
.hm-satir.hm-gonderildi{background:#f0fdf4;border-color:#bbf7d0}
.hm-satir.hm-atlandi{opacity:.55}
.hm-sec input{width:18px;height:18px}
.hm-bilgi{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hm-bilgi small{color:#64748b}
.hm-satir.hm-gonderildi .hm-son{color:#16a34a;font-weight:600}
.hm-tutar{font-weight:700;color:#dc2626;white-space:nowrap}
.hm-butonlar{display:flex;gap:6px;flex-wrap:wrap}
.hm-wa{background:#25d366;color:#fff;border:none}
.hm-wa:hover{background:#1ebe5b;color:#fff}
.hm-wa:disabled,.hm-sms:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}
.hm-not{font-size:13px;color:#64748b;margin:10px 0 0}
@media (max-width:600px){
  .hm-satir{flex-wrap:wrap}
  .hm-bilgi{flex-basis:calc(100% - 40px)}
  .hm-tutar{margin-left:30px}
  .hm-butonlar{margin-left:auto}
  #hmSiradaki{width:100%}
}
/* OGRENCI-SABIT-AD */
#classicStudentsTable th:first-child,
#classicStudentsTable td:first-child{
  position:sticky !important;left:0 !important;z-index:2;
  background:#fff;box-shadow:3px 0 6px -2px rgba(13,45,79,.18)
}
#classicStudentsTable thead th:first-child{z-index:3;background:#0d2d4f}
#classicStudentsTable tbody tr:hover td:first-child{background:#f8fafc}
@media (max-width:600px){
  #classicStudentsTable th:first-child,
  #classicStudentsTable td:first-child{min-width:110px;max-width:34vw;white-space:normal;word-break:break-word}
}
/* OGRENCI-TABLO-DUZELTME */
/* 1) Islemler sutunu butonlara gore genislesin, tasmasin */
#classicStudentsTable th:last-child,
#classicStudentsTable td:last-child{white-space:nowrap !important;max-width:none !important;width:1%;overflow:visible}
#classicStudentsTable td:last-child .btn{display:inline-block;margin:2px}
/* 2) Sabit ad sutununun solundaki bosluk kapansin */
.table-container:has(> #classicStudentsTable){padding-left:0 !important}
#classicStudentsTable th:first-child,
#classicStudentsTable td:first-child{padding-left:20px !important}
/* OGRENCI-ISLEMLER-GENISLIK */
#classicStudentsTable th:last-child,
#classicStudentsTable td:last-child{width:215px !important;white-space:nowrap !important;overflow:visible !important}
/* OGRENCI-MOBIL-INCE */
#classicStudentsTable thead th{white-space:normal !important;line-height:1.25}
@media (max-width:600px){
  #classicStudentsTable th:last-child,
  #classicStudentsTable td:last-child{width:170px !important}
  #classicStudentsTable td:last-child .btn{padding:6px 12px !important;font-size:13px !important;margin:2px 1px}
}
/* OGRENCI-ISLEMLER-ORTA */
#classicStudentsTable th:last-child,
#classicStudentsTable td:last-child{text-align:center !important}
/* GORUNUM-KONTROL */
/* 1) Harcama tablosu: tutar tek satir, Duzenle/Sil yan yana */
#expensesTable td:nth-child(4){white-space:nowrap}
#expensesTable th:last-child,#expensesTable td:last-child{white-space:nowrap;text-align:center}
#expensesTable td:last-child .btn{display:inline-block;margin:2px}
/* 2) Odeme gecmisi penceresi: telefonda tablo kendi icinde kaysin */
#paymentHistoryTableArea{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:600px){
  #paymentHistoryTableArea .student-detail-table{min-width:640px}
  #paymentHistoryTableArea .badge{min-width:0 !important;padding:8px 12px !important;min-height:0 !important}
  .odeme-gecmisi .modal-header > div{flex-wrap:wrap;gap:8px !important}
  .odeme-gecmisi .modal-title{font-size:1.05em;padding-right:28px}
}
/* 3) Yoklama cizelgesi: telefonda Yazdir ve Excel yan yana */
@media (max-width:600px){
  .cz-araclar .cz-onay{flex:1 1 100%}
  .cz-araclar #czYazdir,.cz-araclar #czExcel{flex:1 1 0;width:auto}
}
/* 4) Cizelge bos mesaji telefonda tam gorunsun */
#cizelgeTable:has(td.bos-satir){min-width:0 !important;width:100%}
#cizelgeTable td.bos-satir{white-space:normal;text-align:center}
/* DASH-YOKLAMA */
.kpi-camgobegi { --renk: #0891b2; }
.kpi-card.kpi-dikkat { background: #ecfeff; }
.kpi-card.kpi-dikkat .kpi-deger { color: #0891b2; }
/* DASH-KUTU-DUZEN2 */
.kpi-ciro { --renk: #0f766e; }
.kpi-net { --renk: #475569; }
.kpi-deger { white-space: nowrap; }
.kpi-deger.negatif { color: #dc2626; }
@media (min-width: 901px) {
    .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1500px) {
    .kpi-grid.kpi-admin { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* DASH-KASA */
.kpi-kasa { --renk: #1d4ed8; }
@media (min-width: 1500px) {
    .kpi-grid.kpi-admin { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* SABIT-TAKVIM */
.sg-ust{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sg-ust .table-title{margin:0}
.sg-araclar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sg-araclar .form-input{width:auto;min-width:170px;padding:8px 12px}
.sg-ozet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.sg-ozet:empty{display:none}
.sg-ozet span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:7px 12px;font-size:14px;color:#334155}
.sg-ozet .sg-o-odendi b{color:#16a34a}.sg-ozet .sg-o-kalan b{color:#f47b20}
.sg-ozet .sg-o-gecikti{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.sg-liste{display:flex;flex-direction:column;gap:8px;position:relative}
.sg-satir{display:flex;align-items:center;gap:14px;border:1px solid #e2e8f0;border-left:5px solid #cbd5e1;border-radius:10px;padding:10px 14px;background:#fff}
.sg-satir.sg-odendi{border-left-color:#16a34a;background:#f0fdf4}
.sg-satir.sg-gecikti{border-left-color:#dc2626;background:#fef2f2}
.sg-satir.sg-bugun{border-left-color:#f47b20;background:#fff7ed}
.sg-satir.sg-yaklasiyor{border-left-color:#f59e0b}
.sg-gun{width:48px;flex:none;text-align:center;background:#0d2d4f;color:#fff;border-radius:8px;padding:6px 0;line-height:1.1}
.sg-gun b{display:block;font-size:20px}.sg-gun small{font-size:11px;opacity:.85}
.sg-odendi .sg-gun{background:#16a34a}.sg-gecikti .sg-gun{background:#dc2626}.sg-bugun .sg-gun{background:#f47b20}
.sg-bilgi{flex:1;min-width:0;display:flex;flex-direction:column}
.sg-bilgi small{color:#64748b}
.sg-tutar{font-weight:700;color:#0d2d4f;white-space:nowrap;text-align:right}
.sg-tutar small{display:block;font-weight:400;font-size:11px;color:#94a3b8}
.sg-rozet{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#e2e8f0;color:#334155;white-space:nowrap}
.sg-r-odendi{background:#dcfce7;color:#166534}.sg-r-gecikti{background:#fee2e2;color:#b91c1c}
.sg-r-bugun{background:#ffedd5;color:#c2410c}.sg-r-yaklasiyor{background:#fef3c7;color:#92400e}
.sg-odendi-btn{background:#16a34a;color:#fff;border:none}.sg-odendi-btn:hover{background:#15803d;color:#fff}
.sg-form-satir{display:flex;gap:12px}.sg-form-satir .form-group{flex:1;min-width:0}
.sg-onay{display:flex;gap:8px;align-items:center;font-size:14px;margin:0 0 14px}
.sg-not{font-size:13px;color:#64748b}
.sg-bilgi-kutu{background:#f8fafc;border-left:4px solid #0d2d4f;border-radius:6px;padding:10px 12px;margin-bottom:14px}
.sg-tanimlar{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}
.sg-tanim{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}
.sg-tanim small{display:block;color:#64748b}
.sg-tanim-btn{display:flex;gap:6px;flex:none}
@media (max-width:600px){
  .sg-satir{flex-wrap:wrap}
  .sg-bilgi{flex-basis:calc(100% - 70px)}
  .sg-tutar{margin-left:62px;text-align:left}
  .sg-durum{margin-left:auto}
  .sg-islem{flex-basis:100%}.sg-islem .btn{width:100%}
  .sg-araclar,.sg-araclar .form-input{width:100%}
  .sg-form-satir{flex-direction:column;gap:0}
}
#dashSabitTable td:nth-child(3){white-space:nowrap}
/* SABIT-TAKVIM-ESLESTIR */
.sg-eslestir{display:flex;flex-direction:column;gap:6px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px;margin-bottom:10px;font-size:14px}
.sg-eslestir label{display:flex;gap:8px;align-items:center;margin:0;font-weight:400}
.sg-eslestir .btn{align-self:flex-start;margin-top:4px}
.sg-eslestir small{color:#92400e}
.sg-ayrac{text-align:center;color:#94a3b8;font-size:13px;margin:6px 0 12px}
/* DEVAMSIZLIK */
.dv-rozet{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;background:#ffedd5;color:#c2410c;white-space:nowrap}
.dv-rozet.dv-kritik{background:#fee2e2;color:#b91c1c}
#dashDevamsizKart{border-left:4px solid #dc2626}
#dashDevamsizKart .table-title small{font-weight:400;color:#64748b;font-size:13px}
/* CANLI-BILDIRIM */
.canli-bildirim{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0d2d4f;color:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:10001;font-size:14px;max-width:90vw;transition:opacity .5s}
.canli-bildirim.gizle{opacity:0}
/* OTURUM-UYARI */
.oturum-uyari{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10002;display:flex;align-items:center;gap:12px;background:#fff7ed;border:2px solid #f47b20;color:#7c2d12;padding:12px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:14px;max-width:92vw}
.oturum-uyari i{font-size:20px;color:#f47b20}
@media (max-width:600px){.oturum-uyari{flex-wrap:wrap;justify-content:center;text-align:center}}
/* OTURUM-AYAR */
.oturum-ayar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.oturum-ayar label{font-weight:600;color:#0d2d4f;margin:0}
.oturum-ayar .form-select{width:auto;min-width:150px}
.oturum-durum{font-size:14px}
.oturum-durum.ok{color:#16a34a}.oturum-durum.hata{color:#dc2626}
.oturum-not{font-size:13px;color:#64748b;margin:10px 0 0}
/* OGRENCI-KARTI */
#classicStudentsTable td[data-sid]{cursor:pointer}
#classicStudentsTable td[data-sid] strong{color:#0d2d4f;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}
#classicStudentsTable td[data-sid]:hover strong{color:#f47b20}
.ok-kart{max-width:960px;width:95%;position:relative;max-height:92vh;overflow-y:auto}
.ok-baslik{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ok-baslik small{color:#64748b;display:block;margin-top:4px}
.ok-baslik .ok-kapat{font-size:26px;background:none;border:none;cursor:pointer;color:#666;line-height:1}
.ok-durum{font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;vertical-align:middle;margin-left:6px}
.ok-durum.aktif{background:#dcfce7;color:#166534}.ok-durum.pasif{background:#fee2e2;color:#b91c1c}
.ok-butonlar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.ok-izgara{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ok-bolum{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fff;min-width:0}
.ok-bolum h4{margin:0 0 10px;color:#0d2d4f;font-size:15px}
.ok-genis{grid-column:1 / -1}
.ok-iletisim{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #e2e8f0}
.ok-iletisim > div{flex:1;min-width:0}.ok-iletisim small{display:block;color:#64748b}
.ok-adres{font-size:13px;color:#475569;margin:8px 0 0}
.ok-ozet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.ok-ozet div{background:#f8fafc;border-radius:8px;padding:8px 10px}
.ok-ozet small{display:block;color:#64748b;font-size:12px}.ok-ozet b{font-size:16px;color:#0d2d4f;white-space:nowrap}
.ok-ozet b.yesil{color:#16a34a}.ok-ozet b.turuncu{color:#f47b20}.ok-ozet b.kirmizi{color:#dc2626}
.ok-kurs{margin-bottom:10px}.ok-kurs small{color:#64748b}
.ok-aylar{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ok-ay{font-size:11px;font-weight:600;padding:3px 7px;border-radius:6px;cursor:default}
.ok-odendi{background:#dcfce7;color:#166534}.ok-kismi{background:#dbeafe;color:#1d4ed8}
.ok-gecikti{background:#fee2e2;color:#b91c1c}.ok-gelecek{background:#f1f5f9;color:#64748b}
.ok-lejant{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ok-sinif{padding:8px 0;border-bottom:1px dashed #e2e8f0}.ok-sinif:last-child{border-bottom:none}
.ok-sinif small{color:#64748b;display:block}
.ok-sinif-ust{display:flex;justify-content:space-between;gap:8px;align-items:center}
.ok-oran{font-size:12px;font-weight:700;color:#16a34a;white-space:nowrap}.ok-oran.dusuk{color:#dc2626}
.ok-devam{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:4px}
.ok-noktalar{display:flex;gap:4px;margin-top:6px}
.ok-nokta{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.ok-nokta.geldi{background:#dcfce7;color:#166534}.ok-nokta.gelmedi{background:#fee2e2;color:#b91c1c}
.ok-mesaj{font-size:13px;padding:5px 0;border-bottom:1px dashed #e2e8f0}.ok-mesaj small{color:#64748b}
@media (max-width:700px){
  .ok-izgara{grid-template-columns:1fr}
  .ok-ozet{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ISLEM-GECMISI */
.ig-filtre{display:flex;gap:10px;flex-wrap:wrap}
.ig-filtre .form-select,.ig-filtre .form-input{flex:1 1 170px;min-width:150px}
.ig-rozet{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}
.ig-ekle{background:#dcfce7;color:#166534}.ig-degis{background:#dbeafe;color:#1d4ed8}.ig-sil{background:#fee2e2;color:#b91c1c}
.ig-bilgi{background:#f8fafc;border-left:4px solid #0d2d4f;border-radius:6px;padding:10px 12px;font-size:14px}
.ig-kaydir{overflow-x:auto;max-height:60vh;overflow-y:auto}
.ig-fark{width:100%;border-collapse:collapse;font-size:13px}
.ig-fark th{background:#0d2d4f;color:#fff;text-align:left;padding:8px}
.ig-fark td{border-bottom:1px solid #e2e8f0;padding:8px;vertical-align:top;word-break:break-word}
.ig-once{background:#fef2f2;color:#991b1b}.ig-sonra{background:#f0fdf4;color:#166534}
#igTable small{font-weight:400;color:#64748b}
/* EGITMEN-UCRET */
#euTable td{vertical-align:middle}
.eu-islem{white-space:nowrap}
.eu-islem .btn{margin:2px}
.eu-uyari{color:#dc2626;font-weight:600}
.eu-not{color:#64748b}
#euTable td:nth-child(4),#euTable td:nth-child(5){white-space:nowrap}
/* TOPLU-OGRENCI */
.ti-adimlar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.ti-adim{display:flex;gap:12px;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#f8fafc}
.ti-adim > b{flex:none;width:30px;height:30px;border-radius:50%;background:#0d2d4f;color:#fff;display:flex;align-items:center;justify-content:center}
.ti-adim > div{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.ti-adim small{color:#64748b}
.ti-adim .btn{align-self:flex-start}
.ti-ozet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ti-ozet span{padding:6px 12px;border-radius:8px;font-size:14px}
.ti-ozet .ok{background:#dcfce7;color:#166534}.ti-ozet .uyari{background:#fef3c7;color:#92400e}.ti-ozet .hata{background:#fee2e2;color:#b91c1c}
.ti-kaydir{max-height:45vh;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}
.ti-tablo{width:100%;border-collapse:collapse;font-size:13px}
.ti-tablo th{position:sticky;top:0;background:#0d2d4f;color:#fff;text-align:left;padding:8px;white-space:nowrap}
.ti-tablo td{padding:7px 8px;border-bottom:1px solid #e2e8f0;vertical-align:top}
.ti-tablo tr.hatali td{background:#fef2f2}.ti-tablo tr.tekrar td{background:#fffbeb;color:#78716c}
.ti-r{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}
.ti-r.ok{background:#dcfce7;color:#166534}.ti-r.uyari{background:#fef3c7;color:#92400e}.ti-r.hata{background:#fee2e2;color:#b91c1c}
.ti-hata{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px}
#topluOgrenciBtn{margin-right:8px}
@media (max-width:700px){.ti-adimlar{grid-template-columns:1fr}}
/* PWA-KURULUM */
.pwa-kur-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:8px;padding:10px;border:1px dashed rgba(255,255,255,.35);border-radius:8px;background:rgba(244,123,32,.15);color:#fff;font-weight:600;cursor:pointer}
.pwa-kur-btn:hover{background:rgba(244,123,32,.3)}
.pwa-kur-btn[hidden]{display:none}
.pwa-ios-kutu{max-width:420px}
.pwa-ios-kutu ol{margin:0 0 12px 20px;line-height:1.9}
.pwa-ios-kutu small{color:#64748b}
.pwa-cevrimdisi{position:fixed;left:0;right:0;bottom:0;z-index:10000;background:#b91c1c;color:#fff;text-align:center;padding:8px 12px;font-size:14px;font-weight:600}
body{overscroll-behavior-y:none}
@media (display-mode: standalone){body{-webkit-user-select:none;user-select:none}input,textarea,select,td,[contenteditable]{-webkit-user-select:text;user-select:text}}
/* KPI-TASMA */
.kpi-deger{font-size:clamp(17px,1.55vw,24px)}
.kpi-card > div:last-child{min-width:0}
/* CIZELGE-BASLIK-ORTA */
#cizelgeTable thead th:not(:first-child){text-align:center}
/* CIZELGE-BASLIK-ORTA-2 */
#cizelgeTable th:not(:first-child){text-align:center !important}
/* NOT-SIFRE-LINK */
.ogr-link{cursor:pointer;color:inherit;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}
.ogr-link:hover{color:#f47b20;text-decoration-color:#f47b20}
.yk-not-btn{width:38px;height:38px;border:2px solid #cbd5e1;border-radius:8px;background:#fff;color:#94a3b8;cursor:pointer;flex:none}
.yk-not-btn:hover{border-color:#f47b20;color:#f47b20}
.yk-not-btn.dolu{background:#fff7ed;border-color:#f47b20;color:#f47b20}
.yoklama-satir .yk-not-girdi{flex:1 1 100%;margin:2px 0 0 40px;padding:7px 10px;font-size:14px;background:#fffdf7}
.yk-not-metin{flex:1 1 100%;margin-left:40px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:5px 9px}
.yk-ders-notu{margin-bottom:14px}
.yk-ders-notu label small{color:#64748b;font-weight:400}
.yk-ders-notu textarea{resize:vertical;min-height:54px}
.yk-ders-notu-goster{margin:0 0 12px;padding:9px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#78350f;font-size:14px}
td.cz-notlu{position:relative;cursor:help}
td.cz-notlu::after{content:'';position:absolute;top:3px;right:3px;border-top:8px solid #f47b20;border-left:8px solid transparent}
.so-kutu{max-width:420px}
.so-mesaj{margin:0 0 12px;color:#334155;line-height:1.5}
.so-hata{background:#fee2e2;color:#991b1b;border-radius:6px;padding:8px 10px;font-size:14px;margin-bottom:10px}
@media (max-width:600px){
  .yoklama-satir .yk-not-girdi,.yk-not-metin{margin-left:0}
}
/* YOKLAMA-ILETISIM */
.yk-iletisim{display:inline-flex;gap:6px;flex:none}
.yk-iletisim .btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:15px !important}
.yk-iletisim-yok{width:38px;height:38px;align-items:center;justify-content:center;color:#cbd5e1}
@media (max-width:600px){
  .yoklama-satir{gap:8px}
  .yoklama-satir .yoklama-ad{min-width:0;flex:1 1 80px;word-break:break-word}
  .yoklama-satir .yoklama-no{width:20px}
  .yk-iletisim .btn,.yk-not-btn,.yk-iletisim-yok{width:36px;height:36px}
}
/* YOKLAMA-VELI-TEL */
.yoklama-satir .yoklama-ad{display:flex;flex-direction:column;gap:2px}
.yk-veli-tel{font-size:13px;font-weight:500;color:#64748b}
.yk-veli-tel i{font-size:11px;margin-right:2px}
.yk-veli-tel a{color:#0d2d4f;text-decoration:none;white-space:nowrap}
.yk-veli-tel a:hover{text-decoration:underline}
/* OGRENCI-ARAMA */
.ogr-ara-kutu{position:relative;margin-bottom:8px}
.ogr-ara-kutu i{position:absolute;left:12px;top:13px;color:#94a3b8;pointer-events:none}
.ogr-ara-kutu input{padding-left:36px !important}
.ogr-ara-kutu small{display:block;margin-top:4px;color:#64748b;font-size:12px;min-height:14px}
#studentSelect[size]:not([size="1"]){height:auto;padding:4px}
#studentSelect[size]:not([size="1"]) option{padding:6px 8px}
/* YOKLAMA-VELI-TEL-2 */
.yoklama-satir .yoklama-ad{display:flex !important;flex-direction:column !important;align-items:flex-start;gap:3px}
.yoklama-satir .yk-veli-tel{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:13px;font-weight:500;color:#64748b;line-height:1.3}
.yoklama-satir .yk-veli-tel i{font-size:11px;color:#94a3b8;margin:0}
.yoklama-satir .yk-veli-tel a{color:#0d2d4f !important;text-decoration:none !important;white-space:nowrap;font-weight:600}
.yoklama-satir .yk-veli-tel a:hover{text-decoration:underline !important}
.yoklama-satir .yk-iletisim{margin-left:auto}
/* SINIF-DETAY */
.sinif-ad-link{cursor:pointer;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}
.sinif-ad-link:hover{color:#f47b20;text-decoration-color:#f47b20}
.secili-ogr-kutu{margin-top:10px;border:1px solid #e2e8f0;border-radius:8px;padding:10px;background:#f8fafc}
.secili-ogr-baslik{font-size:13px;font-weight:700;color:#0d2d4f;margin-bottom:8px}
.secili-ogr-liste{display:flex;flex-wrap:wrap;gap:6px}
.secili-ogr{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:3px 4px 3px 10px;font-size:13px}
.secili-ogr b{color:#94a3b8;font-weight:600}
.secili-cikar{border:none;background:#fee2e2;color:#b91c1c;width:20px;height:20px;border-radius:50%;cursor:pointer;line-height:1;font-size:14px;padding:0}
.secili-cikar:hover{background:#dc2626;color:#fff}
.secili-bos{color:#94a3b8;font-size:13px}
.sd-kutu{max-width:720px}
.sd-bilgi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.sd-bilgi div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px}
.sd-bilgi small{display:block;color:#64748b;font-size:12px}
.sd-bilgi b{color:#0d2d4f}
.sd-baslik{margin:4px 0 8px;color:#0d2d4f}
.sd-baslik small{color:#64748b;font-weight:400}
.sd-tablo-kutu{max-height:50vh;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}
.sd-tablo{width:100%;border-collapse:collapse;font-size:14px}
.sd-tablo th{position:sticky;top:0;background:#0d2d4f;color:#fff;text-align:left;padding:8px 10px}
.sd-tablo td{padding:8px 10px;border-bottom:1px solid #e2e8f0}
.sd-tablo td a{color:#0d2d4f;text-decoration:none;white-space:nowrap}
/* SINIFSIZ-OGRENCI */
#dashSinifsizKart .table-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#dashSinifsizKart .table-title small{color:#64748b;font-weight:400;font-size:14px}
#dashSinifsizKart .sz-git{margin-left:auto;font-size:14px;font-weight:600;color:#f47b20;text-decoration:none}
#dashSinifsizKart .sz-git:hover{text-decoration:underline}
/* SINIFSIZ-BOLUM */
.sz-bolum{margin-top:22px;padding-top:18px;border-top:2px solid #e2e8f0}
.sz-bolum .table-title small{color:#64748b;font-weight:400;font-size:14px}
.sz-liste{max-height:430px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}
.sz-satir{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #eef2f7}
.sz-satir:last-child{border-bottom:none}
.sz-satir:nth-child(even){background:#f8fafc}
.sz-no{width:22px;color:#94a3b8;font-weight:600;font-size:13px;flex:none}
.sz-bilgi{display:flex;flex-direction:column;gap:2px;min-width:0}
.sz-bilgi small{color:#64748b;font-size:12.5px}
.sz-bolum .sz-git{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:#f47b20;text-decoration:none}
.sz-bolum .sz-git:hover{text-decoration:underline}
/* SINIFSIZ-AYRI-KART */
.dash-sag-sutun{display:flex;flex-direction:column;gap:20px;min-width:0}
.dash-sag-sutun > .table-container{margin:0}
.dash-sag-sutun .sz-bolum{margin-top:0;padding-top:revert;border-top:none;flex:1}
.dash-sag-sutun .sz-liste{max-height:360px}
/* SINIFSIZ-ROZET */
.ogrenci-secim .sinifsiz-rozet{font-style:normal;font-size:11px;font-weight:700;color:#c2410c;background:#ffedd5;border:1px solid #fdba74;border-radius:10px;padding:1px 8px;white-space:nowrap}
.sinifsiz-sayi{color:#c2410c;font-weight:600}
/* EKSIK-BILGI */
.eksik-uyari{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;width:20px;height:20px;border-radius:50%;background:#fef3c7;color:#b45309;font-size:12px;font-weight:700;cursor:help;vertical-align:middle;border:1px solid #fcd34d}
/* ARGE-MALZEME */
.am-ust-butonlar{display:flex;gap:8px;flex-wrap:wrap}
.am-ozet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.am-ozet span{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;color:#334155;font-size:14px}
.am-ozet b{color:#0d2d4f;font-size:16px}
.am-ozet .am-uyari{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.am-ozet .am-uyari b{color:#c2410c}
.am-ozet .am-kritik{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.am-ozet .am-kritik b{color:#b91c1c}
.am-filtre{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.am-filtre #amAra{flex:1 1 240px;min-width:0}
.am-filtre select{flex:0 1 200px;min-width:150px}
.am-kaydir{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
#amTablo{width:100%;min-width:860px}
#amTablo td,#amHareket td,.am-zimmet-tablo td{vertical-align:middle}
.am-kutu{font-weight:700;color:#0d2d4f;text-align:center;width:56px}
.am-adet{text-align:center;font-weight:600;white-space:nowrap}
.am-rozet{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:700;vertical-align:middle}
.am-gri{background:#f1f5f9;color:#64748b}
.am-kirmizi{background:#fee2e2;color:#b91c1c}
.am-turuncu{background:#ffedd5;color:#c2410c}
.am-zimmet{display:inline-block;background:#e0e7ff;color:#3730a3;border-radius:10px;padding:1px 10px}
.am-eski{color:#b45309;font-weight:600}
.am-not{color:#64748b;font-size:13px;min-width:150px;max-width:260px;white-space:normal;word-break:break-word}
.am-islem{white-space:nowrap}
.am-islem .btn{padding:4px 7px;margin:1px;min-width:0;line-height:1.2}
.am-b-giris{background:#dcfce7;border:1px solid #86efac}
.am-b-cikis{background:#fef3c7;border:1px solid #fcd34d}
.am-b-zimmet{background:#e0e7ff;border:1px solid #a5b4fc}
.am-alt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;margin-top:16px;align-items:start}
.am-alt .table-container{margin:0}
.am-zimmet-tablo{width:100%}
.am-hareket-kutu{max-height:420px;overflow-y:auto}
#amHareket{width:100%;min-width:640px;font-size:13px}
.am-tip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap;background:#f1f5f9;color:#334155}
.am-tip-giris{background:#dcfce7;color:#166534}.am-tip-cikis{background:#fef3c7;color:#92400e}
.am-tip-zimmet{background:#e0e7ff;color:#3730a3}.am-tip-iade{background:#cffafe;color:#155e75}
.am-tip-sayim{background:#f1f5f9;color:#334155}.am-tip-not{background:#fae8ff;color:#86198f}
.am-modal .modal-content.am-dar{max-width:620px;width:94vw}
.am-modal .modal-content.am-genis{max-width:860px;width:96vw}
.am-form{padding:4px 0}
.am-iki{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.am-cb{display:flex !important;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:400 !important;color:#475569}
.am-cb input{width:auto;margin:0}
.am-bilgi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:14px;color:#334155}
.am-sayim-ara{margin-bottom:8px;width:100%}
.am-sayim-kutu{max-height:55vh;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}
.am-sayim-tablo{width:100%;font-size:14px}
.am-sayim-tablo th{position:sticky;top:0;z-index:1}
.am-sayim-tablo input[type="checkbox"]{width:18px;height:18px}
.am-sayim-girdi{width:90px !important;padding:4px 8px !important}
.am-kurulum-kutu{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:10px;padding:12px 16px;margin-bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1.5}
.am-kurulum-kutu .btn{margin-left:auto}
.am-kurulum-kutu:empty,#amKurulum:empty{display:none}
@media (max-width:900px){.am-alt{grid-template-columns:1fr}}
@media (max-width:600px){
  .am-iki{grid-template-columns:1fr;gap:0}
  .am-ust-butonlar{width:100%}.am-ust-butonlar .btn{flex:1 1 auto}
  .am-filtre select{flex:1 1 100%}
  .am-kurulum-kutu .btn{margin-left:0;width:100%}
}
@media print{
  body.am-yazdir .sidebar,body.am-yazdir .page:not(#argePage),body.am-yazdir .am-ust-butonlar,body.am-yazdir .am-filtre,body.am-yazdir #amKurulum,body.am-yazdir .am-alt,body.am-yazdir .mobile-header,body.am-yazdir .menu-toggle{display:none !important}
  body.am-yazdir .dashboard-container,body.am-yazdir .main-content{display:block !important;margin:0 !important;padding:0 !important;width:100% !important}
  body.am-yazdir #argePage{display:block !important}
  body.am-yazdir #amTablo{min-width:0 !important;font-size:11px}
  body.am-yazdir #amTablo th:last-child,body.am-yazdir #amTablo td:last-child{display:none}
  body.am-yazdir .am-kaydir{overflow:visible}
}
/* TELAFI-DERSLERI */
.tl-ozet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tl-ozet span{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;color:#334155;font-size:14px}
.tl-ozet b{color:#0d2d4f;font-size:16px}
.tl-ozet .tl-uyari{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.tl-ozet .tl-uyari b{color:#c2410c}
.tl-ozet .tl-kritik{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.tl-ozet .tl-kritik b{color:#b91c1c}
.tl-aciklama{color:#64748b;font-size:13px;margin:-4px 0 10px;line-height:1.5}
.tl-filtre{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;align-items:center}
.tl-filtre #tlAra{flex:1 1 220px;min-width:0}
.tl-filtre select{flex:0 1 240px;min-width:150px}
.tl-filtre .btn{white-space:nowrap}
.tl-kaydir{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
#tlBekleyen{width:100%;min-width:720px}
#tlBekleyen td{vertical-align:middle}
#tlBekleyen input[type="checkbox"],#tlHepsi{width:18px;height:18px;cursor:pointer}
#tlBekleyen a[data-ogr-kart]{color:inherit;text-decoration:none}
#tlBekleyen a[data-ogr-kart]:hover{text-decoration:underline}
.tl-veli{display:flex;align-items:center;gap:8px;justify-content:space-between}
.tl-veli small{color:#64748b;white-space:nowrap}
#tlBekleyen td:nth-child(3){min-width:230px}
.tl-soluk{color:#94a3b8;font-size:13px}
.tl-kirmizi-yazi{color:#dc2626;font-weight:600}
.tl-rozet{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:700;white-space:nowrap}
.tl-gri{background:#f1f5f9;color:#64748b}.tl-yesil{background:#dcfce7;color:#166534}.tl-kirmizi{background:#fee2e2;color:#b91c1c}
.tl-turuncu{background:#ffedd5;color:#c2410c}.tl-mavi{background:#e0f2fe;color:#075985}
.tl-baslik-satir{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tl-baslik-satir .table-title{margin:0}
.tl-sekmeler{display:flex;background:#f1f5f9;border-radius:8px;padding:3px}
.tl-sekme{border:none;background:none;padding:6px 14px;border-radius:6px;cursor:pointer;font:inherit;font-size:14px;color:#475569}
.tl-sekme.aktif{background:#fff;color:#0d2d4f;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.tl-kartlar{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.tl-kart{border:1px solid #e2e8f0;border-left:5px solid #be123c;border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px}
.tl-kart-tamam{border-left-color:#16a34a;background:#fbfefc}
.tl-kart-gecikti{border-left-color:#dc2626;background:#fffafa}
.tl-kart-ust{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;color:#0d2d4f}
.tl-kart-bilgi{font-size:13px;color:#475569;line-height:1.5}
.tl-ogrenciler{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.tl-ogrenciler li{display:flex;gap:6px;align-items:flex-start;font-size:14px}
.tl-ogrenciler li>span{display:flex;flex-direction:column}
.tl-ogrenciler small{color:#94a3b8;font-size:12px}
.tl-ogrenciler a{color:#0d2d4f;text-decoration:none;font-weight:600}
.tl-geldi{color:#16a34a;font-weight:700}.tl-gelmedi{color:#dc2626;font-weight:700}
.tl-ders-notu{background:#f8fafc;border-radius:6px;padding:6px 10px;font-size:13px;color:#475569}
.tl-kart-alt{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px;border-top:1px solid #f1f5f9}
.tl-kapali-kart summary{cursor:pointer;list-style-position:inside}
.tl-kapali-tablo{width:100%;min-width:560px;font-size:14px}
.tl-modal .modal-content.tl-modal-icerik{max-width:640px;width:94vw}
.tl-modal .modal-content.tl-genis{max-width:760px}
.tl-uc{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.tl-iki{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tl-hocalar{display:flex;flex-wrap:wrap;gap:6px 14px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;max-height:130px;overflow-y:auto}
.tl-cb{display:flex !important;align-items:center;gap:6px;font-weight:400 !important;margin:0 !important;cursor:pointer}
.tl-cb input{width:auto;margin:0}
.tl-secili{list-style:none;margin:0 0 8px;padding:0;border:1px solid #e2e8f0;border-radius:8px;max-height:200px;overflow-y:auto}
.tl-secili li{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid #f1f5f9;font-size:14px}
.tl-secili li:last-child{border-bottom:none}
.tl-secili small{color:#64748b;margin-left:4px}
.tl-cikar{border:none;background:#fee2e2;color:#b91c1c;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}
.tl-ekle-satir{display:flex;gap:8px}
.tl-ekle-satir select{flex:1;min-width:0}
.tl-bilgi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:14px;color:#334155;line-height:1.5}
.tl-yoklama-liste{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:50vh;overflow-y:auto}
.tl-yk-satir{display:grid;grid-template-columns:1fr auto;gap:6px 10px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;align-items:center}
.tl-yk-ad{display:flex;flex-direction:column}
.tl-yk-ad small{color:#64748b;font-size:12px}
.tl-yk-ad a{color:#0d2d4f}
.tl-yk-dugmeler{display:flex;gap:6px}
.tl-yk-btn{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:#475569}
.tl-yk-geldi.secili{background:#16a34a;border-color:#16a34a;color:#fff}
.tl-yk-gelmedi.secili{background:#dc2626;border-color:#dc2626;color:#fff}
.tl-yk-not{grid-column:1/-1;padding:5px 10px !important;font-size:13px !important}
.pg-ders.pg-telafi{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 6px,transparent 6px 12px) !important;border:2px dashed rgba(255,255,255,.75)}
.pg-liste-ders.pg-telafi-liste{background:#fff1f2}
@media (max-width:600px){
  .tl-uc,.tl-iki{grid-template-columns:1fr;gap:0}
  .tl-filtre select,.tl-filtre .btn{flex:1 1 100%}
  .tl-kartlar{grid-template-columns:1fr}
  .tl-yk-satir{grid-template-columns:1fr}
  .tl-yk-dugmeler .tl-yk-btn{flex:1}
}
/* ARGE-SALT-OKUR */
#argePage.am-salt-okur #amYeni,#argePage.am-salt-okur #amSayim,#argePage.am-salt-okur #amKurulum{display:none !important}
#argePage.am-salt-okur #amTablo th:last-child,#argePage.am-salt-okur #amTablo td:last-child{display:none}
#argePage.am-salt-okur .am-zimmet-tablo th:last-child,#argePage.am-salt-okur .am-zimmet-tablo td:last-child{display:none}
#argePage.am-salt-okur #amTablo{min-width:720px}
/* YOKLAMA-SIL */
#yoklamaSilBtn{margin-left:8px}
.yk-islemler{white-space:nowrap}
.yk-islemler .btn{margin:1px}
/* ISLEM-GECMISI-OKUNUR */
.ig-once,.ig-sonra{white-space:pre-line}
/* TELAFI-KILIT */
.tl-kilit{font-size:13px;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:5px 10px}
/* TELAFI-ZAMAN-UYARI */
.tl-zaman-uyari{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:14px;line-height:1.5}
.tl-zaman-uyari.tl-zaman-kirmizi{background:#fef2f2;border-color:#fecaca;color:#991b1b}
/* TELAFI-BUGUN-BILDIRIM */
.tl-bugun-serit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff1f2;border:1px solid #fecdd3;border-left:5px solid #be123c;color:#881337;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px;line-height:1.6}
.tl-bildirim{position:fixed;right:20px;bottom:20px;z-index:3000;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #fecdd3;border-left:5px solid #be123c;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px 16px;animation:tlBildirimGir .3s ease-out}
.tl-bildirim-baslik{font-weight:700;color:#881337;margin-bottom:6px;padding-right:20px}
.tl-bildirim-icerik{font-size:14px;color:#334155;line-height:1.6;margin-bottom:10px}
.tl-bildirim-kapat{position:absolute;top:6px;right:8px;border:none;background:none;font-size:22px;color:#94a3b8;cursor:pointer;line-height:1}
@keyframes tlBildirimGir{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:600px){.tl-bildirim{right:16px;left:16px;bottom:16px;width:auto}}
/* PROGRAM-DERS-DETAY */
.pg-detay-modal .modal-content.pg-detay-icerik{max-width:560px;width:94vw}
.pg-detay-bilgi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:#334155}
.pg-detay-liste{margin:0 0 12px;padding:0;list-style:none;counter-reset:pgd;max-height:50vh;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}
.pg-detay-liste li{counter-increment:pgd;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #f1f5f9}
.pg-detay-liste li:last-child{border-bottom:none}
.pg-detay-liste li>div{display:flex;flex-direction:column}
.pg-detay-liste small{color:#64748b;font-size:12px}
[data-pg-detay]{cursor:pointer}
/* YOKLAMA-SINIF-SECIM */
#attendancePage .yoklama-secim .form-select#yoklamaSinif{min-width:340px;font-size:17px;padding:12px 14px;height:auto;font-weight:600;border-width:2px}
#attendancePage .yoklama-secim #yoklamaTarih{font-size:16px;padding:11px 12px;height:auto}
#yoklamaSinif.yk-secim-bos{border-color:#f47b20 !important;background:#fff7ed;animation:ykSecimNabiz 1.6s ease-in-out infinite}
@keyframes ykSecimNabiz{0%,100%{box-shadow:0 0 0 0 rgba(244,123,32,.35)}50%{box-shadow:0 0 0 6px rgba(244,123,32,0)}}
.yk-secim-notu{text-align:center;padding:28px 16px;color:#334155}
.yk-secim-ikon{font-size:40px;line-height:1;margin-bottom:8px}
.yk-secim-baslik{font-size:19px;color:#0d2d4f;margin-bottom:4px}
.yk-secim-alt{font-size:14px;color:#64748b;margin-top:8px}
.yk-secim-kisayol{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
.yk-kisayol{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #e2e8f0;border-left:4px solid #f47b20;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font:inherit;text-align:left;min-width:200px;max-width:320px;color:#0d2d4f}
.yk-kisayol span{font-size:13px;color:#475569}
.yk-kisayol:hover{background:#fff7ed;border-color:#fed7aa}
@media (max-width:600px){#attendancePage .yoklama-secim .form-select#yoklamaSinif{min-width:0}.yk-kisayol{min-width:0;width:100%;max-width:none}}
/* OGRENCI-ISTATISTIK */
.ayrilis-grup{margin-top:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px}
.ayrilis-grup label{display:block;margin-bottom:6px;font-weight:600;color:#991b1b}
.oi-ust{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.oi-ust .form-select{width:auto;min-width:110px;font-weight:700}
.oi-ozet{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.oi-kutu{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.oi-kutu span{font-size:13px;color:#64748b}
.oi-kutu b{font-size:26px;color:#0d2d4f;line-height:1.2}
.oi-kutu small{font-size:12px;color:#94a3b8}
.oi-kutu.oi-lacivert{border-top:4px solid #0d2d4f}.oi-kutu.oi-yesil{border-top:4px solid #16a34a}.oi-kutu.oi-kirmizi{border-top:4px solid #dc2626}
.oi-arti{color:#16a34a !important}.oi-eksi{color:#dc2626 !important}
.oi-grafik{height:340px;position:relative}
.oi-kaydir{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
#oiTablo{width:100%;min-width:520px}
#oiKursTablo{width:100%;min-width:760px;font-size:14px}
.oi-sayi{text-align:center;font-weight:600}
.oi-satir{cursor:pointer}.oi-satir:hover td{background:#fff7ed}
.oi-bu-ay td{background:#f0f9ff}
.oi-gelecek td{color:#cbd5e1}
#oiTablo tfoot td{font-weight:700;border-top:2px solid #0d2d4f;background:#f8fafc}
.oi-not{font-size:13px;color:#64748b;margin:8px 0 0}
.oi-not:empty{display:none}
.oi-dash-ust{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.oi-dash-ust .table-title{margin:0}
.oi-dash-sayilar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.oi-dash-sayilar>div{background:#f8fafc;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.oi-dash-sayilar span{font-size:13px;color:#64748b}
.oi-dash-sayilar b{font-size:24px;color:#0d2d4f}
.oi-dash-sayilar small{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oi-dash-grafik{height:220px;position:relative}
.oi-modal .modal-content.oi-modal-icerik{max-width:720px;width:94vw}
.oi-bilgi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;margin:0 0 12px}
.oi-iki{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.oi-iki h4{margin:0 0 8px}
.oi-liste{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto}
.oi-liste li{padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:14px}
.oi-liste li small{display:block;color:#94a3b8;font-size:12px}
.oi-liste a{color:#0d2d4f;font-weight:600;text-decoration:none}
.oi-bos{color:#94a3b8}
@media (max-width:700px){.oi-dash-sayilar{grid-template-columns:repeat(2,minmax(0,1fr))}.oi-iki{grid-template-columns:1fr}.oi-grafik{height:280px}}
@media print{
  body.oi-yazdir .sidebar,body.oi-yazdir .page:not(#ogrenciIstatistikPage),body.oi-yazdir .oi-ust,body.oi-yazdir .mobile-header,body.oi-yazdir .menu-toggle{display:none !important}
  body.oi-yazdir .dashboard-container,body.oi-yazdir .main-content{display:block !important;margin:0 !important;padding:0 !important;width:100% !important}
  body.oi-yazdir #ogrenciIstatistikPage{display:block !important}
  body.oi-yazdir .oi-kaydir{overflow:visible}
  body.oi-yazdir #oiTablo,body.oi-yazdir #oiKursTablo{min-width:0 !important;font-size:11px}
  body.oi-yazdir .oi-kutu,body.oi-yazdir .table-container{break-inside:avoid;box-shadow:none !important}
}
/* CANLI-GUNCELLEME */
.cg-serit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#eff6ff;border:1px solid #bfdbfe;border-left:5px solid #2563eb;color:#1e3a8a;border-radius:10px;padding:10px 16px;margin-bottom:16px;font-size:15px;animation:cgGir .3s ease-out}
.cg-serit small{color:#3b82f6}
@keyframes cgGir{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:600px){.cg-serit .btn{width:100%}}
/* TABLO-KAYDIRMA-PC */
@media (min-width:901px){
  .table-container:has(> #classicStudentsTable),
  .table-container:has(> #studentPaymentsSummaryTable),
  .table-container:has(> #debtTrackingTable),
  .table-container:has(> #expensesTable){
    max-height:calc(100vh - 120px);
    overflow:auto !important;
    overscroll-behavior:contain;
  }
  #classicStudentsTable thead th,
  #studentPaymentsSummaryTable thead th,
  #debtTrackingTable thead th,
  #expensesTable thead th{position:sticky;top:-25px;z-index:3}
  #classicStudentsTable thead th:first-child{z-index:4}
  .table-container:has(> #classicStudentsTable)::-webkit-scrollbar,
  .table-container:has(> #studentPaymentsSummaryTable)::-webkit-scrollbar,
  .table-container:has(> #debtTrackingTable)::-webkit-scrollbar,
  .table-container:has(> #expensesTable)::-webkit-scrollbar{height:12px;width:10px}
  .table-container:has(> #classicStudentsTable)::-webkit-scrollbar-thumb,
  .table-container:has(> #studentPaymentsSummaryTable)::-webkit-scrollbar-thumb,
  .table-container:has(> #debtTrackingTable)::-webkit-scrollbar-thumb,
  .table-container:has(> #expensesTable)::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:6px}
}