/* Print Styles for Work Schedule Manager */

@media print {
    /* Reset and base styles */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body {
        background: white !important;
        color: #000 !important;
        font-family: 'Inter', Arial, sans-serif !important;
        font-size: 12pt !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide non-essential elements */
    .navbar,
    .week-nav-container,
    #loadingSpinner,
    #errorAlert,
    #noEmployeesMessage,
    .modal,
    .modal-backdrop,
    .btn,
    button {
        display: none !important;
    }

    /* Container adjustments */
    .container-fluid {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Schedule container */
    #scheduleContainer {
        background: white !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    /* Print header */
    #scheduleContainer::before {
        content: "Work Schedule - " attr(data-week);
        display: block;
        font-size: 18pt;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20pt;
        padding-bottom: 10pt;
        border-bottom: 2px solid #125f8b;
        color: #125f8b;
    }

    /* Table responsive wrapper */
    .table-responsive {
        overflow: visible !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Schedule table */
    .schedule-table {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        background: white !important;
        margin: 0 !important;
        font-size: 10pt !important;
        page-break-inside: avoid;
    }

    .schedule-table th,
    .schedule-table td {
        border: 1px solid #125f8b !important;
        padding: 8pt 6pt !important;
        vertical-align: middle !important;
        background: white !important;
        color: #000 !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Table headers */
    .schedule-table th {
        background: #125f8b !important;
        color: white !important;
        font-weight: bold !important;
        text-align: center !important;
        font-size: 11pt !important;
        border-color: #125f8b !important;
    }

    /* Employee column */
    .schedule-table .employee-column,
    .schedule-table .employee-name {
        background: #f0f6fa !important;
        color: #125f8b !important;
        font-weight: bold !important;
        text-align: left !important;
        width: 120pt !important;
        min-width: 120pt !important;
        max-width: 120pt !important;
    }

    /* Day columns */
    .schedule-table .day-column {
        width: auto !important;
        min-width: 60pt !important;
        text-align: center !important;
    }

    /* Time cells */
    .time-cell {
        text-align: center !important;
        min-height: auto !important;
        padding: 6pt 4pt !important;
    }

    .time-cell.has-time {
        background: #e8f4f8 !important;
        border-left: 3pt solid #125f8b !important;
    }

    .time-display {
        font-weight: bold !important;
        color: #125f8b !important;
        font-size: 10pt !important;
        background: transparent !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    .time-display.empty {
        color: #666 !important;
        font-style: italic !important;
        font-weight: normal !important;
        font-size: 9pt !important;
    }

    /* Today column highlighting */
    .today-column {
        background: #fff3cd !important;
    }

    .today-column th {
        background: #ffc107 !important;
        color: #000 !important;
    }

    /* Page break handling */
    .schedule-table {
        page-break-inside: avoid;
    }

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

    .schedule-table thead {
        display: table-header-group;
    }

    .schedule-table tbody {
        display: table-row-group;
    }

    /* Print footer */
    @page {
        margin: 0.5in;
        @bottom-right {
            content: "Page " counter(page) " of " counter(pages);
            font-size: 9pt;
            color: #666;
        }
        @bottom-left {
            content: "Generated on " date();
            font-size: 9pt;
            color: #666;
        }
    }

    /* Ensure proper table layout */
    table.schedule-table {
        display: table !important;
        table-layout: fixed !important;
    }

    table.schedule-table thead {
        display: table-header-group !important;
    }

    table.schedule-table tbody {
        display: table-row-group !important;
    }

    table.schedule-table tr {
        display: table-row !important;
    }

    table.schedule-table th,
    table.schedule-table td {
        display: table-cell !important;
    }

    /* Responsive adjustments for smaller paper */
    @media print and (max-width: 8.5in) {
        .schedule-table {
            font-size: 9pt !important;
        }
        
        .schedule-table th,
        .schedule-table td {
            padding: 6pt 4pt !important;
            font-size: 9pt !important;
        }
        
        .schedule-table th {
            font-size: 10pt !important;
        }
        
        .schedule-table .employee-column {
            width: 100pt !important;
            min-width: 100pt !important;
            max-width: 100pt !important;
        }
    }

    /* Landscape orientation adjustments */
    @media print and (orientation: landscape) {
        .schedule-table {
            font-size: 11pt !important;
        }
        
        .schedule-table th,
        .schedule-table td {
            padding: 8pt 6pt !important;
            font-size: 11pt !important;
        }
        
        .schedule-table .employee-column {
            width: 140pt !important;
            min-width: 140pt !important;
            max-width: 140pt !important;
        }
    }
}