/* ===================================================================
 * styles-print.css
 * Purpose: Print stylesheet for BOQ/reports
 * Extracted from styles.css during the Apr 2026 split (task #23).
 * =================================================================== */
/* Print Styles - Keep existing print styles */
@media print {
    .page-number::before {
        content: counter(page);
        color: black !important;
    }

    @page {
        size: landscape;
        margin: 1cm 0.5cm;
        counter-increment: page;
    }

    /* Hide ad containers when printing */
    .ad-sidebar-col, 
    .mobile-ad-container,
    .ad-container,
    .ad-placeholder,
    .ad-placeholder-mobile {
        display: none !important;
    }

    /* BOQ Print Specific Styles */
    .boq-action-buttons, .btn-group, .form-control, .form-select, 
    #selectAll, .row-select, .item-drag-handle, .toggle-btn, 
    .item-note-btn, .bi-grip-vertical, .bi-pencil-square {
        display: none !important;
    }

    /* Hide first two columns in BOQ table (toggle and checkbox) */
    .boq-table thead th:nth-child(1), .boq-table thead th:nth-child(2),
    .boq-table tbody td:nth-child(1), .boq-table tbody td:nth-child(2) {
        display: none !important;
    }

    /* Print header styling */
    .print-header {
        text-align: center;
        margin-bottom: 15px;
        border-bottom: 1px solid #000;
        padding-bottom: 10px;
        font-size: 14pt;
    }

    .print-header h2 {
        margin-bottom: 5px;
        font-size: 18pt;
    }

    .print-header p {
        margin: 2px 0;
        font-size: 10pt;
    }

    /* Table styling for print */
    .boq-table {
        width: 100%;
        table-layout: fixed !important;
        border-collapse: collapse;
        border: 1px solid #000;
    }

    .boq-table th, .boq-table td {
        border: 1px solid #000;
        padding: 4px 6px;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        white-space: normal !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Fixed column widths for print */
    .boq-table th.number-col, .boq-table td.number-col {
        width: 12% !important;
    }

    .boq-table th.description-col, .boq-table td.description-col {
        width: 40% !important;
    }

    .boq-table th.takeoff-col, .boq-table td.takeoff-col {
        width: 12% !important;
    }

    .boq-table th.unit-col, .boq-table td.unit-col {
        width: 8% !important;
    }

    .boq-table th.price-col, .boq-table td.price-col {
        width: 12% !important;
    }

    .boq-table th.total-col, .boq-table td.total-col {
        width: 16% !important;
    }

    /* Row styling */
    .boq-table tr.phase-row {
        background-color: #f0f0f0 !important;
        font-weight: bold;
    }

    .boq-table tr.cc-row {
        background-color: #e6e6e6 !important;
    }

    /* Project total styling */
    .boq-table tfoot tr {
        font-weight: bold;
        font-size: 12pt;
        background-color: #f0f0f0 !important;
        border-top: 2px solid #000;
    }

    /* Prevent page breaks inside items */
    .boq-table tr { 
        page-break-inside: avoid; 
    }

    .project-header {
        position: fixed;
        top: 0.3cm;
        left: 0;
        width: 100%;
        text-align: center;
        font-size: 9pt !important;
        font-weight: bold;
        color: black !important;
        background-color: white !important;
        padding: 0.2cm 0;
        margin-bottom: 0.5cm;
        z-index: 1000;
        font-family: Arial, sans-serif;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .header-text {
        color: black !important;
        display: inline-block;
        background: white !important;
        padding: 0 1cm;
    }

    body * {
        visibility: hidden;
        margin: 0;
        padding: 0;
        font-size: 7pt !important;
        line-height: 1 !important;
    }

    .print-container {
        display: block !important;
        margin-bottom: 1cm;
    }

    @media print {
        .print-header {
            position: fixed;
            bottom: 0.5cm;
            left: 0.5cm;
            font-size: 8pt !important;
            font-weight: bold;
            color: black !important;
            font-family: Arial, sans-serif;
        }

        .project-total-container {
            display: none;
            page-break-before: avoid;
            page-break-inside: avoid;
        }

        .project-total-container:last-of-type {
            display: block;
        }

        tr {
            page-break-inside: avoid;
        }

        thead {
            display: table-header-group;
        }

        tfoot {
            display: table-footer-group;
        }
    }

    .page-number::before {
        content: counter(page);
        color: black !important;
    }

    @page {
        @top-left {
            content: element(project-info);
        }
    }

    .table {
        color: black !important;
        background: white !important;
        width: 100% !important;
        border-collapse: collapse;
        table-layout: fixed !important;
    }

    .table td,
    .table th {
        color: black !important;
        background: white !important;
        border: 1px solid #ddd !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        white-space: normal !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .phase-row,
    .cc-row {
        color: black !important;
        background: white !important;
        border: 2px solid #000 !important;
        background-color: #f0f0f0 !important;
        -webkit-print-color-adjust: exact;
    }

    .btn,
    .header-container button,
    #optionsMenu,
    .toggle-btn {
        display: none !important;
    }

    .form-control,
    .form-select {
        border: none !important;
        background: white !important;
        color: black !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    input[type="checkbox"] {
        display: none !important;
    }

    .d-none {
        display: table-row !important;
    }

    .table-container {
        max-height: none !important;
        overflow: visible !important;
    }

    .header-container {
        position: static !important;
        padding: 0 !important;
        border: none !important;
    }

    .table:empty,
    tbody:empty,
    tr:empty {
        display: none !important;
    }

    .table-container:empty {
        display: none !important;
        page-break-after: avoid !important;
    }

    /* Fix for long numbers wrapping */
    .table td, .number-col, .takeoff-col, .price-col, .total-col {
        font-family: monospace !important;
        font-size: 6.5pt !important;
        white-space: normal !important;
        word-break: break-all !important;
    }

    /* Adjust font size for very long content */
    td:has(> :first-child:not(:empty):nth-last-child(1)) {
        font-size: 6pt !important;
    }
}

.modal-footer {
    border-top: 1px solid var(--border-color);
}

.modal-title {
    text-align: center;
    margin-bottom: 2rem;
    color: var(--text-light);
}

.form-label {
    color: var(--text-light);
}

[data-theme="light"] .form-label {
    color: #000000;
}

input[type="date"].form-control {
    color: var(--text-light);
    background-color: var(--input-bg-dark);
}

input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

[data-theme="light"] input[type="date"].form-control {
    color: var(--text-dark);
    background-color: var(--input-bg-light);
}

[data-theme="light"] input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: invert(0);
}

