body {
    font-family: Arial, sans-serif;
    background: #f2f2f2;
    margin: 0;
    padding: 10px;
}




/* MAIN APPLICATION AREA */

.application-container {
    width:100%;
    max-width:900px;
    margin:auto;
    background:white;
    padding:15px;
    box-sizing:border-box;
}


/* PAGE NUMBER */

.page-number {
    text-align:center;
    font-size:18px;
    margin-bottom:15px;
}


/* PAGE CONTENT */

.page-content {
    width:100%;
    overflow:hidden;
}


.page-content img {
    max-width:100%;
    width:100%;
    height:auto;
    display:block;
}


/* NAVIGATION */

.navigation {
    display:flex;
    justify-content:space-between;
    margin-top:20px;
}


button {
    padding:12px 30px;
    font-size:16px;
    cursor:pointer;
}



/* DOCUMENT PAGE */

.document-page {

    font-family:"Aptos Display", Arial, sans-serif;
    line-height:1.5;
    color:#000;

    max-width:800px;
    margin:auto;

    padding:20px;

    font-size:14px;

}



/* HEADER BAR */

.header-box {

    background:#5B9AD4;
    color:white;

    padding:20px;

    border-radius:0 40px 40px 0;

    margin-bottom:20px;

    width:70%;

    margin-left:-40px;

    padding-left:60px;

}


.header-box h2 {

    margin:0;

    font-size:25px;

    font-weight:600;

}


.header-box h2 small {

    font-size:15px;

}



/* SECTION TITLES */

.section-title {

    color:#5B9AD4;

    font-weight:bold;

    font-size:23px;

    margin-top:25px;

}



/* POLICY TEXT */

.policy-text {

    margin-left:35px;

    font-size:14px;

}



/* OLD GRID PAGES */

.form-grid {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-top:30px;

}


.full-width {

    grid-column:span 2;

}



/* INPUT BOXES */

.input-box {

    border:2px solid #333;

    border-radius:8px;

    height:40px;

    box-sizing:border-box;

}


.date-box {

    height:60px;

    width:220px;

    font-size:18px;

}


.name-box {

    height:60px;

    font-size:18px;

}



/* LABELS */

label {

    font-weight:bold;

    display:block;

    margin-bottom:2px;

}



/* SIGNATURE */

#signaturePad {

    border:2px solid #333;

    border-radius:8px;

    width:100%;

    height:60px;

    cursor:crosshair;

    background:white;

}



/* FILE UPLOAD */

.upload-label {

    margin-top:15px;

}


input[type="file"] {

    margin-top:10px;

}



/* PAGE 7 SIGNATURE */

.page7-signature {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    align-items:center;

}



.page7-signature canvas {

    width:100%;

    height:40px;

    border:1px solid #333;

    border-radius:8px;

}



.page7-signature input {

    height:35px;

    border:1px solid #333;

    border-radius:8px;

}



.page7-signature label:last-of-type {

    grid-column:span 2;

}



.page7-signature input:last-child {

    grid-column:span 2;

}



/* REHABILITATION TABLE */

.rehab-table {

    width:100%;

    border-collapse:collapse;

    font-size:12px;

}


.rehab-table th {

    background:black;

    color:white;

    padding:5px;

}


.rehab-table td {

    border:1px solid black;

    padding:5px;

}



/* ===========================
   PAGE 9 PERSONAL DETAILS
   =========================== */


.personal-table {

    width:100%;

    border-collapse:collapse;

    margin-bottom:25px;;

    font-size:12px;

}



.personal-table + .personal-table {

    margin-top:10px;

}



.personal-table td,
.personal-table th {

    border:1px solid #999;

    padding:2px 4px;

    vertical-align:top;

}



/* Text fields */

html body .page-content .personal-table input[type="text"],
html body .page-content .personal-table input[type="email"],
html body .page-content .personal-table input[type="date"],
html body .page-content .personal-table input[type="tel"],
html body .page-content .personal-table input[type="number"],
html body .page-content .personal-table input[type="password"],
html body .page-content .personal-table select {

    width:100%;

    border:none;

    outline:none;

    margin-top:1px;

    padding:2px 0;

    min-height:26px;

    font-size:14px;

    box-sizing:border-box;

}

.personal-table textarea {

    width:100%;

    border:none;

    outline:none;

    margin-top:2px;

    padding:2px 0;

    line-height:1.25;

    box-sizing:border-box;

}



/* Radio buttons */

.personal-table input[type="radio"] {

    width:auto;

    margin:0 5px;

}



/* Black section header */

.table-header {

    background:#000;

    color:#fff;

    font-weight:bold;

    text-align:left;

}



/* Radio groups */
/* Radio groups */

.radio-group {
    display:flex;
    gap:15px;
    align-items:center;
    margin-top:5px;
}


.radio-group label {
    display:flex;
    align-items:center;
    gap:5px;
    font-weight:normal;
    margin:0;
}


.radio-group input[type="radio"] {
    width:auto;
    margin:0;
}

/* GLOBAL DOCUMENT STYLE */

.document-page {
    font-family:"Aptos Display", Arial, sans-serif;
    line-height:1.5;
    color:#000;
    max-width:800px;
    margin:auto;
    padding:20px 20px 20px 55px;
    font-size:14px;
}


/* BLUE HEADER */

.header-box {
    background:#5B9AD4;
    color:white;
    padding:20px;
    border-radius:0 40px 40px 0;
    margin-bottom:20px;
    width:70%;
    margin-left:-40px;
    padding-left:60px;
}


.header-box h2 {
    margin:0;
    font-size:25px;
    font-weight:600;
}


/* SECTION TITLES */

.section-title {
    color:#5B9AD4;
    font-size:23px;
    font-weight:bold;
    margin-top:25px;
}


/* ALL TABLES */

.personal-table {
    width:100%;
    border-collapse:collapse;
    margin-bottom:25px;
    font-size:12px;
}


.personal-table td,
.personal-table th {
    border:1px solid #999;
    padding:4px 6px;
    vertical-align:top;
}


.personal-table input {
    width:100%;
    border:none;
    outline:none;
    font-size:14px;
}


/* BLACK TABLE HEADER */

.table-header {
    background:#000;
    color:white;
}


/* FORM */

label {
    font-weight:bold;
    display:block;
    margin-bottom:1px;
}


.radio-group label {
    display:inline;
    font-weight:normal;
}


.page-actions {
    width:100%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    padding-right:10px;
    box-sizing:border-box;
}


.page-actions img,
.page-actions img.action-icon,
#printPage15 {

    width:25px !important;
    height:25px !important;

    max-width:25px !important;
    max-height:25px !important;

    min-width:25px !important;
    min-height:25px !important;

    object-fit:contain !important;

    display:block !important;

    cursor:pointer;

}

.wtr-option{

    display:flex;
    align-items:center;
    gap:25px;
    margin-bottom:35px;
    
    }
    
    
    .wtr-text{
    
    flex:1;
    font-size:13px;
    text-align:justify;
    
    }
    
    
    
    .tick-box{
    
    width:34px;
    height:34px;
    
    border:3px solid #000;
    
    flex-shrink:0;
    
    cursor:pointer;
    
    position:relative;
    
    background:white;
    
    }
    
    
    
    .tick-box.checked::after{
    
    content:"✓";
    
    position:absolute;
    
    font-size:32px;
    
    font-weight:bold;
    
    left:2px;
    
    top:-8px;
    
    }
    
    
    @media print {

        body *{
    
            visibility:hidden;
            
            }
            .header-box {
                background-color: #5B9AD4 !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }


        body.page15-print * {
        
        visibility:hidden;
        
        }
        
        
        
        body.page15-print #page15Document,
        body.page15-print #page15Document * {
        
        visibility:visible;
        
        }
        
        
        
        body.page15-print #page15Document {
        
        position:absolute;
        left:0;
        top:0;
        width:90%;
        
        }
        
        
        
        body.page15-print .page-actions {
        
        display:none;
        
        }
        
        
        
        }

    .page-actions {
        width:100%;
        display:flex;
        justify-content:flex-end;
        align-items:center;
        height:auto;
        min-height:30px;
        margin-bottom:10px;
    }
    
    #printPage15 {
        width:35px !important;
        height:35px !important;
        max-width:35px !important;
        max-height:35px !important;
        object-fit:contain;
        display:block;
    }

    body {
        background:rgb(24, 120, 175) !important;
    }


    .wtr-option {

        position:relative;
    
        padding-right:90px;
    
        margin-bottom:45px;
    
    }
    
    
    
    .wtr-text {
    
        font-size:13px;
    
        text-align:justify;
    
        line-height:1.5;
    
    }
    
    
    
    
    .tick-box {
    
        position:absolute;
    
        right:0;
    
        top:50%;
    
        transform:translateY(-50%);
    
        width:55px;
    
        height:55px;
    
        border:4px solid #000;
    
        background:white;
    
        cursor:pointer;
    
    }
    
    
    
    .wtr-check {
    
        appearance:none;
    
        width:100%;
    
        height:100%;
    
        margin:0;
    
        cursor:pointer;
    
    }
    
    
    
    .tick-box span {
    
        display:none;
    
        position:absolute;
    
        font-size:50px;
    
        font-weight:bold;
    
        left:3px;
    
        top:-12px;
    
    }
    
    
    
    .wtr-check:checked + span {
    
        display:block;
    
    }

    .radio-option {
        display:flex;
        align-items:center;
        gap:8px;
        font-size:13px;
        margin-bottom:8px;
    }
    
    
    .radio-option input[type="radio"] {
        width:14px;
        height:14px;
    }
    
    
    .monitoring-section {
        border:1px solid #000;
        padding:12px;
        margin-bottom:10px;
    }
    
    
    .ethnicity-container h4 {
        margin-top:15px;
        margin-bottom:8px;
        font-size:13px;
    }
    
    
    .medium-textarea {
        width:100%;
        height:80px;
        border:1px solid #000;
        padding:10px;
        box-sizing:border-box;
        font-family:Arial,sans-serif;
        resize:none;
    }
    
    
    .large-details-box {
        width:100%;
        height:260px;
        border:1px solid #000;
        padding:10px;
        box-sizing:border-box;
        font-family:Arial,sans-serif;
        resize:none;
    }

    .sia-number-container {

        display:flex;
        
        gap:6px;
        
        margin-top:15px;
        
        flex-wrap:nowrap;
        
        }
        
        
        
        .sia-digit {
        
        width:28px;
        
        height:32px;
        
        border:1px solid #000;
        
        text-align:center;
        
        font-size:16px;
        
        font-family:Arial,sans-serif;
        
        outline:none;
        
        box-sizing:border-box;
        
        }
        
        
        
        .sia-digit:focus {
        
        border:2px solid #5B9BD5;
        
        }
        
        
        .contacts-grid{
            display:flex;
            justify-content:space-between;
            gap:20px;
            width:100%;
            margin-bottom:30px;
        }
        
        .contact-column{
            width:48%;
            min-width:48%;
            max-width:48%;
        }
        
        .column-title{
            color:#4489ca;
            font-size:16px;
            font-weight:bold;
            margin-bottom:10px;
        }
        
        .contact-table{
            width:100%;
            table-layout:fixed;
            border-collapse:collapse;
        }
        
        .contact-table tr{
            height:40px;
        }
        
        .contact-table td{
            border:1px solid #000;
            padding:6px;
            overflow:hidden;
            word-wrap:break-word;
        }
        
        .contact-table td:first-child{
            width:35%;
            font-weight:bold;
        }
        
        .contact-table td:last-child{
            width:65%;
        }

        .rehab-sentence-box{
            width:100%;
            height:150px;
            border:1px solid #999;
            padding:10px;
            box-sizing:border-box;
            resize:none;
            font-size:14px;
            font-family:Arial, sans-serif;
        }
        
        .other-info-box{
            width:100%;
            min-height:150px;
            border:1px solid #000;
            padding:10px;
            box-sizing:border-box;
        }

        .table-field{

            width:100%;
            height:100%;
            
            border:none;
            outline:none;
            
            background:transparent;
            
            padding:0;
            
            font-family:inherit;
            font-size:inherit;
            
            box-sizing:border-box;
            
            }
            .contact-page {
                display:flex;
                flex-direction:column;
                min-height:1050px;
            }
            
            
            .contact-page .contact-center {
                flex:1;
                display:flex;
                flex-direction:column;
                justify-content:center;
                text-align:center;
            }

            @media print {

                @page {

                    size:A4 portrait;
                    
                    margin:10mm;
                    
                    }


                body:not(.page15-print) * {
                
                visibility:hidden;
                
                }
                
                
                
                body:not(.page15-print) #printAllContainer,
                body:not(.page15-print) #printAllContainer * {
                
                visibility:visible;
                
                }
                
                body:not(.page15-print) .header-box {

                    background-color:#5B9BD5 !important;
                    
                    -webkit-print-color-adjust:exact !important;
                    
                    print-color-adjust:exact !important;
                    
                    color:white !important;
                    
                    }
                
                body:not(.page15-print) #printAllContainer {
                
                position:absolute;
                
                left:0;
                
                top:0;
                
                width:100%;
                
                }
                
                
                
                .print-copy-page {

                    width:190mm;
                
                    min-height:277mm;
                
                    margin:0 auto;
                
                    box-sizing:border-box;
                
                    break-after:page;
                
                    page-break-after:always;
                
                    overflow:visible;
                
                }
                
                
                
                .page-actions {
                
                display:none !important;
                
                }
                
                
                }

/* =========================================================
   STYLES MOVED OUT OF index.php
   These rules used to live in <style> blocks inside the page.
   ========================================================= */

/* Moved index.php style block 1 */
.document-page {
    font-family: "Aptos Display", Arial, sans-serif;
    line-height: 1.5;
    color: #000000;
    max-width: 800px;
    margin: auto;
    padding: 20px;
    padding-left: 55px;
    padding-right: 55px;
    font-size: 14px;
}


/* PAGE HEADER */

.header-box {

    background-color:#5B9AD4;
    color:white;

    padding:20px;

    border-radius:0 40px 40px 0;

    margin-bottom:20px;

    width:70%;

    margin-left:-40px;

    padding-left:60px;

}


.header-box h2 {

    margin:0;

    font-family:"Aptos Display", Arial, sans-serif;

    font-size:25px;

    font-weight:600;

}


.header-box h2 small {

    font-size:15px;

    font-weight:700;

}



/* BLUE SECTION TITLES */

.section-title {

    color:#5B9AD4;

    font-weight:bold;

    font-size:23px;

    margin-top:25px;

}



/* OLD GRID FORM STYLE */

.form-grid {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-top:30px;

}



.input-box {

    border:2px solid #333;

    border-radius:8px;

    height:50px;

}



.full-width {

    grid-column:span 2;

}



/* ALL LABELS */

label {

    font-weight:bold;

    display:block;

    margin-bottom:5px;

}



/* TABLE SUPPORT FOR ALL PAGES */

table {

    width:100%;

    border-collapse:collapse;

    font-size:12px;

}



table td,
table th {

    border:1px solid #999;

    padding:8px;

    vertical-align:top;

}



/* PAGE 9 PERSONAL TABLE */

.personal-table {

    width:100%;

    border-collapse:collapse;

    margin:0;

    font-size:12px;

    table-layout:fixed;

    box-sizing:border-box;

}



.personal-table td,
.personal-table th {

    border:1px solid #999;

    padding:8px;

    vertical-align:top;

}



.personal-table input[type="text"],
.personal-table input[type="email"],
.personal-table input[type="date"] {

    width:100%;

    border:none;

    outline:none;

    font-size:14px;

    margin-top:5px;

    box-sizing:border-box;

}



.personal-table input[type="radio"] {

    width:auto;

    margin:0 5px;

}



/* BLACK SECTION HEADER */

.table-header {

    background:#000;

    color:white;

    font-weight:bold;

    text-align:left;

}



/* RADIO BUTTON GROUPS */

.radio-group {

    white-space:nowrap;

}



.radio-group label {

    display:inline;

    font-weight:normal;

    margin-right:15px;

}

/* Moved index.php style block 2 */
.education-table textarea,
.education-gap textarea {

width:100%;
height:100%;
border:none;
outline:none;
resize:none;
padding:8px;
box-sizing:border-box;
font-size:14px;
font-family:Arial,sans-serif;

}


.education-table td {

height:90px;
padding:0;

}


.education-table th {

background:#000;
color:white;
border:1px solid #999;
padding:10px;
font-size:12px;

}


.education-table td {

border:1px solid #999;

}


.education-gap {

border:1px solid #999;
margin-top:20px;

}


.education-gap-title {

padding:10px;
font-size:12px;
border-bottom:1px solid #999;

}


.education-gap textarea {

height:250px;

}

/* =========================================================
   FORMER INLINE STYLES
   Static style="..." attributes were converted to classes.
   ========================================================= */
html body .page-content .text-brand-blue {
    color:#5B9AD4;
}

#signaturePad.moved-inline-02 {
    width:100%;
    height:60px;
    border:2px solid #333;
    border-radius:8px;
}

html body .page-content .legacy-height-25 {
    height: 25px;
}

html body .page-content .moved-inline-04 {
    display:block;
}

html body .page-content .moved-inline-05 {
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}

html body .page-content .moved-inline-06 {
    background:#000;
    color:white;
    text-align:left;
    padding:6px;
    border:1px solid #999;
}

html body .page-content .moved-inline-07 {
    border:1px solid #999;
    padding:8px;
    width:80%;
}

html body .page-content .moved-inline-08 {
    border:1px solid #999;
    padding:8px;
    text-align:center;
}

html body .page-content .moved-inline-09 {
    border:1px solid #999;
    padding:8px;
}

html body .page-content .moved-inline-10 {
    border:1px solid #999;
    height:350px;
    padding:8px;
}

html body .page-content .moved-inline-11 {
    width:100%;
    height:100%;
    border:none;
    resize:none;
    font-size:14px;
}

html body .page-content .width-38 {
    width:38%;
}

html body .page-content .width-12-center {
    width:12%;
    text-align:center;
}

html body .page-content .text-center {
    text-align:center;
}

html body .page-content .width-75 {
    width:75%;
}

#workingHoursDetails.moved-inline-16,
#healthDetails.moved-inline-16 {
    width:100%;
    height:250px;
    min-height:250px;
    max-height:250px;
    border:none;
    resize:none;
    outline:none;
    overflow:auto;
    font-size:14px;
    font-family:Arial,sans-serif;
    box-sizing:border-box;
}

html body .page-content .text-brand-blue-alt {
    color:#5B9AD5;
}

html body .page-content .text-brand-blue-print {
    color:#5B9BD5;
}

#signaturePad.moved-inline-19 {
    width:100%;
    height:120px;
    border:1px solid #A6A6A6;
    touch-action:none;
}

html body .page-content .width-25 {
    width:25%;
}

html body .page-content .legacy-height-35 {
    height:35px;
}

html body .page-content .width-60 {
    width:60%;
}

html body .page-content .legacy-height-15 {
    height:15px;
}

html body .page-content .moved-inline-24 {
    text-align:center;
    width:40%;
    vertical-align:bottom;
    font-size:12px;
    font-weight:bold;
    color:#A6A6A6;
    padding-bottom:15px;
}

html body .page-content .moved-inline-25 {
    margin-top:20px;
    padding-left:20px;
    line-height:1.8;
}

html body .page-content .moved-inline-27 {
    background:#000;
    color:white;
    padding:8px;
    margin-bottom:0;
}

html body .page-content .moved-inline-28 {
    width:100%;
    border:none;
    outline:none;
}

html body .page-content .moved-inline-30 {
    font-size:12px;
    font-style:italic;
    margin-top:10px;
}

html body .page-content .moved-inline-31 {
    color:#5B9BD5;
    margin-top:30px;
}

html body .page-content .legacy-pad-8 {
    padding:8px;
}

html body .page-content .moved-inline-33 {
    height:50px;
    padding:8px;
    vertical-align:top;
}

html body .page-content .moved-inline-34 {
    margin-top:20px;
}

html body .page-content .moved-inline-35 {
    font-size:12px;
    font-style:italic;
    margin-top:25px;
}

html body .page-content .moved-inline-36 {
    text-align:center;
}

html body .page-content .moved-inline-37 {
    width:100%;
    height:100%;
    border:none;
    outline:none;
    background:transparent;
    padding:8px;
    box-sizing:border-box;
}

#printApplication.moved-inline-38 {
    width:40px;
    height:40px;
}


/* =========================================================
   COMPACT FORM / TABLE SPACING
   ---------------------------------------------------------
   These variables are the main place to adjust the spacing
   around normal form fields in future.
   ========================================================= */

:root {
    --form-cell-padding-y: 2px;
    --form-cell-padding-x: 5px;
    --form-label-gap: 0px;
    --form-control-height: 20px;
}

/* Keep ordinary table borders closer to their contents. */
table td,
table th {
    padding:4px 6px;
}

/* Entry tables are intentionally tighter than general data tables. */
html body .page-content .personal-table td {
    padding:var(--form-cell-padding-y) var(--form-cell-padding-x);
}

html body .page-content .personal-table th {
    padding:4px 6px;
}

html body .page-content .personal-table label {
    margin-top:0;
    margin-bottom:var(--form-label-gap);
    line-height:1.2;
}

html body .page-content .personal-table input[type="text"],
html body .page-content .personal-table input[type="email"],
html body .page-content .personal-table input[type="date"],
html body .page-content .personal-table input[type="tel"],
html body .page-content .personal-table input[type="number"],
html body .page-content .personal-table input[type="password"],
html body .page-content .personal-table select {
    margin-top:0;
    margin-bottom:0;
    padding:0;
    min-height:var(--form-control-height);
    height:var(--form-control-height);
    line-height:var(--form-control-height);
    box-sizing:border-box;
}

html body .page-content .personal-table textarea {
    margin-top:0;
    margin-bottom:0;
    padding:1px 0;
    line-height:1.2;
    box-sizing:border-box;
}

/* Page 11 fields moved out of its old embedded <style> block. */
.employment-textarea {
    width:100%;
    border:none;
    outline:none;
    resize:none;
    overflow:hidden;
    font-size:14px;
    font-family:inherit;
    box-sizing:border-box;
}

.phone-input {
    width:100%;
}

.reference-year-message {
    margin-top:15px;
    font-weight:bold;
    color:#b00020;
}

/* =========================================================
   PAGE 16 - ADDITIONAL BENEFICIARIES
   Fixed labels followed by editable fields
   ========================================================= */

.additional-beneficiary-cell {
    padding:4px 6px;
    vertical-align:top;
}

.additional-beneficiary-cell strong {
    display:block;
    margin:0 0 2px;
    font-weight:bold;
}

.additional-beneficiary-input {
    display:block;
    width:100%;
    min-height:20px;
    margin:0;
    padding:0;
    border:none;
    outline:none;
    background:transparent;
    font:inherit;
    box-sizing:border-box;
}

.additional-beneficiary-address-cell {
    min-height:50px;
}

/* =========================================================
   PAGE 22 - TERMS ACKNOWLEDGEMENT
   ========================================================= */

.terms-acknowledgement {
    margin:18px 0 22px;
    padding:12px;
    border:1px solid #999;
    box-sizing:border-box;
    background:#fff;
}

.terms-acknowledgement-label {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    font-weight:normal;
    line-height:1.4;
    cursor:pointer;
}

.terms-acknowledgement-label input[type="checkbox"] {
    width:18px;
    height:18px;
    min-width:18px;
    margin:2px 0 0;
    cursor:pointer;
}

.terms-acknowledgement-label strong {
    font-weight:bold;
}


/* =========================================================
   PAGE 24 - PRINT / PDF INSTRUCTIONS
   ========================================================= */

.print-instructions {
    margin:8px 0 20px 22px;
    padding-left:16px;
}

.print-instructions li {
    margin-bottom:8px;
    line-height:1.45;
}


/* =========================================================
   PRINT FIX - PREVENT A BLANK PAGE AFTER THE FINAL PAGE
   Added without changing the existing stylesheet above.
   ========================================================= */
@media print {

    /* Remove the normal webpage from the print layout completely. */
    body:not(.page15-print) > .application-container {
        display:none !important;
    }

    /* Remove normal screen spacing that can overflow the A4 print area. */
    body:not(.page15-print) {
        margin:0 !important;
        padding:0 !important;
        background:white !important;
    }

    /* Let the generated print container occupy the print layout normally. */
    body:not(.page15-print) #printAllContainer {
        position:static !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* Do not force another physical sheet after the final cloned page. */
    body:not(.page15-print) .print-copy-page:last-child {
        break-after:auto !important;
        page-break-after:auto !important;
    }
}

/* =========================================================
   PRINT FIX - PAGE 23 MUST NOT OVERFLOW ONTO A BLANK PAGE
   ---------------------------------------------------------
   Page 23 uses .contact-page, which has a screen min-height
   of 1050px. During printing that height can exceed the A4
   printable area and create one extra blank sheet.
   These rules affect printing only.
   ========================================================= */
@media print {

    /* Page breaks already separate each cloned application page,
       so do not force an A4-sized minimum height on the clone. */
    body:not(.page15-print) #printAllContainer .print-copy-page {
        min-height:0 !important;
        height:auto !important;
    }

    /* Page 23 is a .contact-page. Its normal 1050px minimum height
       is useful on screen but is too tall for the printable A4 area. */
    body:not(.page15-print) #printAllContainer .contact-page {
        min-height:0 !important;
        height:auto !important;
    }

    /* The last application page must end normally, with no forced
       page break after it. */
    body:not(.page15-print) #printAllContainer .print-copy-page:last-child {
        break-after:auto !important;
        page-break-after:auto !important;
        margin-bottom:0 !important;
        padding-bottom:0 !important;
    }
}
