/* ==========================================================
   YKS 2027 Kişisel Çalışma Programı - Mobil & Responsive Tasarım
   ========================================================== */

/* Tablet & Küçük Ekranlar (<= 1024px) */
@media (max-width: 1024px) {
    :root {
        --sidebar-width: 230px;
    }

    .top-header {
        padding: 0.85rem 1.25rem;
    }

    .view-container {
        padding: 1.25rem;
    }
}

/* Mobil Görünüm (<= 768px) */
@media (max-width: 768px) {
    .sidebar {
        transform: translateX(-100%);
        box-shadow: var(--shadow-lg);
        width: 280px;
    }

    .sidebar.mobile-open {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.5);
        z-index: 45;
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-fast);
    }

    .sidebar-backdrop.active {
        opacity: 1;
        visibility: visible;
    }

    .main-content {
        margin-left: 0;
        width: 100%;
        padding-bottom: 5rem; /* Mobil alt bar veya kaydırma payı */
    }

    .mobile-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .top-header {
        padding: 0.75rem 1rem;
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .top-header-row-1 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .top-header-row-2 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        width: 100%;
    }

    .mode-toggle-group {
        width: 100%;
        justify-content: center;
    }

    .mode-btn {
        flex: 1;
        justify-content: center;
        padding: 0.45rem 0.6rem;
        font-size: 0.82rem;
    }

    .view-container {
        padding: 1rem;
    }

    /* Mobilde Günler Tam Genişlikte Dikey Kart Listesi */
    .calendar-weekdays-bar {
        display: none;
    }

    .day-card.day-card-placeholder {
        display: none;
    }

    .schedule-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
        min-width: 0;
    }

    .day-card {
        border-radius: var(--radius-md);
    }

    .day-header {
        padding: 0.85rem 1rem;
    }

    .day-content {
        padding: 0.85rem 1rem;
    }

    .day-footer {
        padding: 0.65rem 1rem;
    }

    .stats-summary-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
    }

    .stat-card {
        padding: 1rem;
    }

    .stat-card-value {
        font-size: 1.5rem;
    }

    .subjects-grid {
        grid-template-columns: 1fr;
    }

    .modal-dialog {
        max-width: 100%;
        margin: 0.5rem;
        max-height: 92vh;
    }

    .modal-header {
        padding: 1rem 1.25rem;
    }

    .modal-body {
        padding: 1.25rem;
    }

    .modal-footer {
        padding: 0.85rem 1.25rem;
    }

    .toast-container {
        bottom: 1rem;
        right: 1rem;
        left: 1rem;
    }

    .toast {
        max-width: 100%;
    }

    /* Mobil Alt Hızlı Filtre Barı */
    .mobile-sub-toolbar {
        display: flex;
        overflow-x: auto;
        gap: 0.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
        -webkit-overflow-scrolling: touch;
    }
}
