/* =========================================================
   Pace Clock — PRINT
   Version: 3.0
   File: /pace_clock/pc-print-v3

   Important:
   - Do not replace <body> during printing.
   - Printable content must be inside #printWorkoutSheet.
   - Printing is activated by body.pc-printing.
   ========================================================= */


/* =========================================================
   SCREEN STATE
   ========================================================= */

#printWorkoutSheet {
    display: none;
}


/* =========================================================
   PRINT MODE
   ========================================================= */

@media print {

    @page {
        size: A4 portrait;
        margin: 10mm;
    }


    /* =====================================================
       DOCUMENT RESET
       ===================================================== */

    html,
    body {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #ffffff !important;
        overflow: visible !important;
    }

    body.pc-printing {
        margin: 0 !important;
        padding: 0 !important;

        background: #ffffff !important;
        overflow: visible !important;
    }


    /* Hide live application */

    body.pc-printing > *:not(#printWorkoutSheet) {
        display: none !important;
        visibility: hidden !important;
    }


    /* Show printable sheet */

    body.pc-printing > #printWorkoutSheet {
        display: block !important;
        visibility: visible !important;

        position: relative !important;
        z-index: 2147483647 !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #ffffff !important;
        color: #172033 !important;

        font-family: Arial, Helvetica, sans-serif !important;
    }

    body.pc-printing > #printWorkoutSheet,
    body.pc-printing > #printWorkoutSheet * {
        visibility: visible !important;
    }


    /* Printable element reset */

    #printWorkoutSheet,
    #printWorkoutSheet * {
        box-sizing: border-box !important;

        box-shadow: none !important;
        text-shadow: none !important;

        animation: none !important;
        transition: none !important;

        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }


    /* =====================================================
       SHEET
       ===================================================== */

    #printWorkoutSheet {
        color: #172033 !important;
        font-family: Arial, Helvetica, sans-serif !important;
    }

    #printWorkoutSheet .printSheet {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #172033 !important;
        background: #ffffff !important;
    }


    /* =====================================================
       WORKOUT HEADER
       ===================================================== */

    #printWorkoutSheet .printHeader {
        display: block !important;

        margin: 0 0 5mm !important;
        padding: 0 0 3mm !important;

        border: none !important;
        border-bottom: 2px solid #1683c7 !important;

        background: transparent !important;
    }

    #printWorkoutSheet .printWorkoutHead {
        min-width: 0 !important;
        text-align: left !important;
    }

    #printWorkoutSheet .printWorkoutLabel {
        margin: 0 0 1mm !important;

        color: #64748b !important;

        font-size: 7px !important;
        font-weight: 800 !important;
        font-style: normal !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
    }

    #printWorkoutSheet .printWorkoutHead h1 {
        margin: 0 !important;
        padding: 0 !important;

        color: #15324a !important;

        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 23px !important;
        font-weight: 900 !important;
        font-style: normal !important;
        line-height: 1.05 !important;
        letter-spacing: -0.02em !important;

        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       WORKOUT SUMMARY
       ===================================================== */

    #printWorkoutSheet .printHeaderStats {
        display: flex !important;
        flex-wrap: nowrap !important;

        gap: 0 !important;

        margin: 4mm 0 0 !important;
        padding: 0 !important;

        border-top: 1px solid #d8e1e8 !important;
        border-bottom: 1px solid #d8e1e8 !important;
    }

    #printWorkoutSheet .printHeaderStats > div {
        display: block !important;
        flex: 1 1 0 !important;

        min-width: 0 !important;

        margin: 0 !important;
        padding: 2.2mm 3mm !important;

        border: none !important;
        border-right: 1px solid #d8e1e8 !important;
        border-radius: 0 !important;

        background: transparent !important;
    }

    #printWorkoutSheet .printHeaderStats > div:last-child {
        border-right: none !important;
    }

    #printWorkoutSheet .printHeaderStats span {
        display: block !important;

        margin: 0 0 0.7mm !important;

        color: #718096 !important;

        font-size: 6.5px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        letter-spacing: 0.07em !important;
        text-transform: uppercase !important;
    }

    #printWorkoutSheet .printHeaderStats strong {
        display: block !important;

        color: #172033 !important;

        font-size: 9.5px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       WORKOUT BADGES
       ===================================================== */

    #printWorkoutSheet .printWorkoutBadges {
        display: flex !important;
        flex-wrap: wrap !important;

        gap: 1.5mm !important;

        margin: 2.5mm 0 0 !important;
        padding: 0 !important;
    }

    #printWorkoutSheet .printWorkoutBadges span {
        display: inline-block !important;

        padding: 1.2mm 2.3mm !important;

        border: none !important;
        border-radius: 1.5mm !important;

        background: #eef6fb !important;
        color: #334155 !important;

        font-size: 7.5px !important;
        line-height: 1.2 !important;
    }

    #printWorkoutSheet .printWorkoutBadges b {
        color: #0f6f9f !important;
        font-weight: 900 !important;
    }


    /* =====================================================
       DESCRIPTION / GOAL
       ===================================================== */

    #printWorkoutSheet .printPurpose {
        display: grid !important;
        grid-template-columns: 40mm minmax(0, 1fr) !important;

        gap: 4mm !important;

        margin: 0 0 5mm !important;
        padding: 3mm 4mm !important;

        border: 1px solid #dbe7f2 !important;
        border-left: 4px solid #1565c0 !important;
        border-radius: 2.5mm !important;

        background: #f7fbff !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    #printWorkoutSheet .printPurposeLabel {
        min-width: 0 !important;

        color: #1565c0 !important;

        font-size: 8px !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
        letter-spacing: 0.07em !important;
        text-transform: uppercase !important;
    }

    #printWorkoutSheet .printPurposeText {
        min-width: 0 !important;

        color: #1f2937 !important;

        font-size: 9.5px !important;
        font-weight: 650 !important;
        line-height: 1.4 !important;

        white-space: pre-wrap !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       BLOCK
       ===================================================== */

    #printWorkoutSheet .printBlock {
        margin: 6mm 0 0 !important;
        padding: 0 !important;

        border: none !important;
        border-radius: 0 !important;
        outline: none !important;

        background: #ffffff !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #printWorkoutSheet .printBlockHeader {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        gap: 5mm !important;

        margin: 0 !important;
        padding: 2.4mm 3mm !important;

        border: none !important;
        border-left: 3px solid #1683c7 !important;
        border-radius: 0 !important;

        background: #eef6fb !important;

        break-after: avoid !important;
        page-break-after: avoid !important;
    }

    #printWorkoutSheet .printBlockHeading {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    #printWorkoutSheet .printBlockNumber {
        margin: 0 !important;

        color: #526779 !important;

        font-size: 7px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
    }

    #printWorkoutSheet .printBlock h2 {
        margin: 0.7mm 0 0 !important;
        padding: 0 !important;

        color: #15324a !important;
        background: transparent !important;

        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        font-style: normal !important;
        line-height: 1.1 !important;

        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       BLOCK STATS
       ===================================================== */

    #printWorkoutSheet .printBlockStats {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;

        gap: 5mm !important;
    }

    #printWorkoutSheet .printBlockStats > div {
        min-width: 0 !important;
        text-align: right !important;
    }

    #printWorkoutSheet .printBlockStats span {
        display: block !important;

        margin: 0 0 0.5mm !important;

        color: #718096 !important;

        font-size: 6px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
    }

    #printWorkoutSheet .printBlockStats strong {
        display: block !important;

        color: #172033 !important;

        font-size: 8.5px !important;
        font-weight: 900 !important;
        font-style: normal !important;
        line-height: 1.2 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       WORKOUT TABLE
       ===================================================== */

    #printWorkoutSheet .printWorkoutTable {
        width: 100% !important;
        margin: 0 !important;

        table-layout: fixed !important;
        border: none !important;
        border-collapse: collapse !important;

        background: #ffffff !important;

        font-size: 8.3px !important;
    }

    #printWorkoutSheet .printWorkoutTable,
    #printWorkoutSheet .printWorkoutTable thead,
    #printWorkoutSheet .printWorkoutTable tbody,
    #printWorkoutSheet .printWorkoutTable tfoot,
    #printWorkoutSheet .printWorkoutTable tr,
    #printWorkoutSheet .printWorkoutTable th,
    #printWorkoutSheet .printWorkoutTable td {
        outline: none !important;
        box-shadow: none !important;

        border-left: none !important;
        border-right: none !important;
    }

    #printWorkoutSheet .printWorkoutTable thead {
        display: table-header-group !important;
    }

    #printWorkoutSheet .printWorkoutTable tbody {
        display: table-row-group !important;
    }

    #printWorkoutSheet .printWorkoutTable tfoot {
        display: table-row-group !important;
    }

    #printWorkoutSheet .printWorkoutTable th,
    #printWorkoutSheet .printWorkoutTable td {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    #printWorkoutSheet .printWorkoutTable th {
        padding: 2mm !important;

        border-top: none !important;
        border-bottom: 1px solid #cbd5df !important;

        background: #f8fafc !important;
        color: #64748b !important;

        font-size: 6.5px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        letter-spacing: 0.055em !important;

        text-align: left !important;
        text-transform: uppercase !important;
        vertical-align: bottom !important;
    }

    #printWorkoutSheet .printWorkoutTable td {
        padding: 2.3mm 2mm !important;

        border-top: none !important;
        border-bottom: 1px solid #e5eaf0 !important;

        background: #ffffff !important;
        color: #172033 !important;

        font-size: 8.3px !important;
        line-height: 1.3 !important;

        vertical-align: top !important;
    }

    #printWorkoutSheet .printWorkoutTable tbody tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    #printWorkoutSheet .printWorkoutTable tbody tr:nth-child(even),
    #printWorkoutSheet .printWorkoutTable tbody tr:nth-child(even) td {
        background: #fbfcfd !important;
    }

    #printWorkoutSheet .printWorkoutTable tbody tr:last-child {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }


    /* =====================================================
       TABLE COLUMN WIDTHS
       ===================================================== */

    #printWorkoutSheet .printColSet {
        width: 22% !important;
    }

    #printWorkoutSheet .printColMain {
        width: 20% !important;
    }

    #printWorkoutSheet .printColNote {
        width: 20% !important;
    }

    #printWorkoutSheet .printColAdvanced {
        width: 18% !important;
    }

    #printWorkoutSheet .printColDistance {
        width: 10% !important;
    }

    #printWorkoutSheet .printColTime {
        width: 10% !important;
    }


    /* =====================================================
       SET FORMULA
       ===================================================== */

    #printWorkoutSheet .printSetFormula {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;

        min-width: 0 !important;
        gap: 0.8mm !important;

        color: #172033 !important;

        font-size: 8.5px !important;
        line-height: 1.2 !important;
    }

    #printWorkoutSheet .printSetFormula strong {
        color: #172033 !important;

        font-size: 9px !important;
        font-weight: 900 !important;
        font-style: normal !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    #printWorkoutSheet .printSetIndex {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 auto !important;

        min-width: 4.5mm !important;
        height: 4.5mm !important;
        padding: 0 1mm !important;

        border-radius: 1mm !important;

        background: #e4f1f8 !important;
        color: #0f6f9f !important;

        font-size: 6.5px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    #printWorkoutSheet .printMainDetails {
        color: #243b4d !important;
        font-weight: 800 !important;
    }

    #printWorkoutSheet .printNote {
        color: #526273 !important;
    }


    /* =====================================================
       ADVANCED VALUES
       ===================================================== */

    #printWorkoutSheet .printAdvanced {
        display: flex !important;
        flex-wrap: wrap !important;

        gap: 1mm 2.5mm !important;
    }

    #printWorkoutSheet .printAdvancedItem {
        display: inline !important;

        color: #475569 !important;

        font-size: 7.5px !important;
        line-height: 1.3 !important;
    }

    #printWorkoutSheet .printAdvancedItem b {
        color: #1565c0 !important;
        font-weight: 900 !important;
    }


    /* =====================================================
       CALCULATED VALUES
       ===================================================== */

    #printWorkoutSheet .printCalculated {
        color: #0f6f9f !important;

        font-size: 8px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;

        text-align: right !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }


    /* =====================================================
       EMPTY VALUES
       ===================================================== */

    #printWorkoutSheet .printEmpty {
        color: #94a3b8 !important;
        font-weight: 400 !important;
    }

    #printWorkoutSheet .printNoSets {
        padding: 5mm !important;

        color: #64748b !important;

        text-align: center !important;
        font-style: italic !important;
    }


    /* =====================================================
       BLOCK TOTAL
       ===================================================== */

    #printWorkoutSheet .printBlockTotalRow {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    #printWorkoutSheet .printBlockTotalRow > td {
        padding: 0 !important;

        border-top: 1px solid #cbd5df !important;
        border-bottom: none !important;

        background: #f5f8fa !important;
    }

    #printWorkoutSheet .printBlockTotal {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;

        gap: 4mm !important;

        margin: 0 !important;
        padding: 2.2mm 3mm !important;

        border: none !important;
        border-radius: 0 !important;

        background: #f5f8fa !important;
    }

    #printWorkoutSheet .printBlockTotal > div {
        display: flex !important;
        align-items: baseline !important;

        gap: 1.5mm !important;
        min-width: 0 !important;
    }

    #printWorkoutSheet .printBlockTotal span {
        color: #64748b !important;

        font-size: 6.7px !important;
        line-height: 1.2 !important;
    }

    #printWorkoutSheet .printBlockTotal strong {
        color: #243b4d !important;

        font-size: 8.5px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    #printWorkoutSheet .printBlockGrandTotal {
        padding-left: 4mm !important;
        border-left: 2px solid #1683c7 !important;
    }

    #printWorkoutSheet .printBlockGrandTotal strong {
        color: #0f6f9f !important;
        font-size: 9px !important;
    }


    /* Keep final workout row close to block total */

    #printWorkoutSheet .printWorkoutTable tbody tr:last-child {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }


    /* =====================================================
       FOOTER
       ===================================================== */

    #printWorkoutSheet .printFooter {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        gap: 4mm !important;

        margin: 6mm 0 0 !important;
        padding: 2.5mm 0 0 !important;

        border: none !important;
        border-top: 1px solid #d8e1e8 !important;

        background: #ffffff !important;
        color: #718096 !important;

        font-size: 7px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    #printWorkoutSheet .printFooter > * {
        min-width: 0 !important;

        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
}


/* =========================================================
   END OF PRINT V3
   ========================================================= */