/* Print Styles for KursSelect */
@media print {
    @page {
        margin: 8mm;
    }

    .app-header,
    .main-nav,
    .mobile-bottom-nav,
    .mobile-nav-bar,
    .page-header .header-actions,
    .timetable-toolbar,
    .timetable-hint-bar,
    .btn,
    .btn-back,
    .back-link,
    .print-hide,
    .timetable-cell .add-slot-btn,
    .timeslot-card-actions,
    .timeslot-resize-handle,
    .footer-container,
    .user-badge,
    .font-size-controls,
    .school-year-form,
    .flash-container,
    .alert,
    dialog,
    .modal,
    .modal-overlay,
    .c-actions,
    .filter-panel,
    .cb-filter-panel,
    #coursebookFilterPanel,
    #userFilterPanel,
    #courseFilterPanel,
    #studentCourseFilterPanel,
    #otherCoursesFilterPanel,
    #activityFilterPanel,
    .pagination-container {
        display: none !important;
    }

    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-size: 10pt !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .content-container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .page-header {
        margin-bottom: 8px !important;
        padding-bottom: 4px !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    .page-title {
        color: #000000 !important;
        font-size: 15pt !important;
        margin-bottom: 2px !important;
    }

    .page-subtitle {
        color: #4b5563 !important;
        font-size: 8.5pt !important;
        margin-top: 0 !important;
        margin-bottom: 6px !important;
    }

    .glass-card {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        box-shadow: none !important;
        padding: 10px !important;
        margin-bottom: 12px !important;
        page-break-inside: avoid;
    }

    .glass-card:has(.timetable-wrapper),
    .glass-card.timetable-card {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    /* Interactive Timetable & Timeslot Grid */
    .timetable-wrapper {
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 4px !important;
        padding: 0 !important;
        margin: 0 0 12px 0 !important;
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .timetable-container {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .timetable-grid {
        display: grid !important;
        grid-template-columns: 50px repeat(6, minmax(0, 1fr)) !important;
        grid-template-rows: 28px repeat(11, minmax(36px, auto)) !important;
        gap: 2px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .timetable-header-cell {
        background: #f1f5f9 !important;
        border: 1px solid #cbd5e1 !important;
        color: #0f172a !important;
        font-size: 10.5px !important;
        font-weight: 700 !important;
        padding: 4px 2px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        text-align: center !important;
        border-radius: 2px !important;
    }

    .timetable-header-cell.corner-cell {
        background: #e2e8f0 !important;
        font-size: 9px !important;
        color: #334155 !important;
    }

    .timetable-period-cell {
        background: #f8fafc !important;
        border: 1px solid #cbd5e1 !important;
        padding: 2px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 2px !important;
    }

    .timetable-period-num {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        line-height: 1.1 !important;
    }

    .timetable-period-sub {
        font-size: 7.5px !important;
        color: #64748b !important;
    }

    .timetable-cell {
        background: #ffffff !important;
        border: 1px dashed #e2e8f0 !important;
        min-height: 36px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border-radius: 2px !important;
    }

    .timeslot-card {
        background: #f0fdf4 !important;
        border: 1px solid #86efac !important;
        border-left: 3.5px solid #10b981 !important;
        color: #000000 !important;
        box-shadow: none !important;
        padding: 3px 4px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        page-break-inside: avoid;
        overflow: hidden !important;
        border-radius: 3px !important;
    }

    .timeslot-card-top {
        display: flex !important;
        justify-content: flex-start !important;
        margin-bottom: 2px !important;
    }

    .timeslot-period-badge {
        font-size: 9.5px !important;
        font-weight: 700 !important;
        color: #065f46 !important;
        background: #d1fae5 !important;
        border: 1px solid #a7f3d0 !important;
        padding: 1px 4px !important;
        border-radius: 2px !important;
        white-space: nowrap !important;
        display: inline-block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .timeslot-card-body {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        flex-wrap: wrap !important;
    }

    .timeslot-duration-tag {
        font-size: 8.5px !important;
        color: #374151 !important;
    }

    .timeslot-courses-tag {
        font-size: 8px !important;
        color: #1e40af !important;
        background: #dbeafe !important;
        border: 1px solid #bfdbfe !important;
        padding: 0 3px !important;
        border-radius: 2px !important;
        white-space: nowrap !important;
    }

    /* Schedule Course Cards (admin_schedule, teacher_schedule, student_schedule) */
    .schedule-slot-container {
        min-width: 0 !important;
        box-sizing: border-box !important;
        gap: 2px !important;
    }

    .schedule-course-card {
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-left: 3px solid #3b82f6 !important;
        color: #000000 !important;
        box-shadow: none !important;
        padding: 3px 5px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        page-break-inside: avoid;
        overflow: hidden !important;
        border-radius: 3px !important;
    }

    .schedule-course-title {
        color: #000000 !important;
        font-weight: 700 !important;
        font-size: 9.5px !important;
        line-height: 1.2 !important;
        word-break: break-word !important;
    }

    .schedule-badge-group {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 2px !important;
        margin-top: 2px !important;
    }

    .schedule-tag {
        border: 1px solid #cbd5e1 !important;
        color: #334155 !important;
        background: #f8fafc !important;
        font-size: 8px !important;
        padding: 0 3px !important;
        border-radius: 2px !important;
        white-space: nowrap !important;
    }

    .schedule-summary-bar {
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        padding: 6px 10px !important;
        margin-bottom: 8px !important;
        box-shadow: none !important;
        border-radius: 4px !important;
    }

    .schedule-stats-group {
        gap: 10px !important;
        font-size: 9pt !important;
    }

    /* Table styles */
    .table {
        width: 100% !important;
        border-collapse: collapse !important;
        color: #000000 !important;
    }

    .table th,
    .table td {
        border: 1px solid #d1d5db !important;
        padding: 5px 7px !important;
        color: #000000 !important;
        background: transparent !important;
        font-size: 9pt !important;
    }

    .table th {
        background-color: #f3f4f6 !important;
        font-weight: bold !important;
    }

    .table tr {
        page-break-inside: avoid;
    }

    .badge {
        border: 1px solid #9ca3af !important;
        color: #000000 !important;
        background: transparent !important;
        font-weight: 600 !important;
        font-size: 8.5pt !important;
    }

    .badge-success {
        border-color: #10b981 !important;
        color: #065f46 !important;
    }

    .badge-warning {
        border-color: #f59e0b !important;
        color: #92400e !important;
    }

    a[href]:after {
        content: "" !important;
    }
}
