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

body.gcs-form-body {
    background-color: #525659;
    margin: 0;
    padding: 0;
    font-family: 'Times New Roman', Times, serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.gcs-sheet-portrait {
    width: 210mm;
    min-height: 297mm;
    padding: 8mm 14mm 24mm 14mm;
    box-sizing: border-box;
    position: relative;
    background: #ffffff;
    margin: 0 auto;
    color: #000000;
}

/* Top Document Header Container */
.appointment-header-container {
    position: relative;
    width: 100%;
    margin-bottom: 6px;
}

.appointment-header-dept {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    font-weight: bold;
    letter-spacing: 0.2px;
    text-align: center;
    color: #000000;
    margin-top: 5px;
    margin-bottom: 4px;
    line-height: 12pt;
}

.appointment-header-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 14pt;
    font-weight: bold !important;
    letter-spacing: 0.2px;
    text-align: center;
    color: #000000;
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 16pt;
}

/* Activity Details Metadata */
.eval-meta-grid {
    width: 100%;
    margin-bottom: 10px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    line-height: 14pt;
    color: #000000;
}

.eval-meta-row {
    display: flex;
    width: 100%;
    align-items: baseline;
    margin-bottom: 4px;
}

.eval-meta-item {
    display: flex;
    align-items: baseline;
    box-sizing: border-box;
}

.eval-meta-label {
    font-family: 'Times New Roman', Times, serif;
    font-weight: normal;
    white-space: nowrap;
    margin-right: 4px;
}

.eval-meta-line {
    flex: 1;
    border-bottom: 1px solid #000000;
    padding: 0 4px;
    font-weight: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
    text-align: center;
}

/* Directions */
.eval-directions-wrap {
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    line-height: 1.35;
    color: #000000;
    margin-bottom: 10px;
}

.eval-directions-title {
    font-weight: bold;
    margin-bottom: 2px;
}

.eval-directions-text {
    text-indent: 36pt;
    text-align: justify;
}

/* Rating Scale Centered 2-Column Block */
.eval-scale-container {
    width: 100%;
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
}

.eval-scale-table {
    border-collapse: collapse;
    border: none !important;
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    color: #000000;
}

.eval-scale-table th, 
.eval-scale-table td {
    border: none !important;
    padding: 1px 10px;
}

.eval-scale-th-left {
    font-weight: bold;
    text-align: center;
    padding-right: 32px !important;
}

.eval-scale-th-right {
    font-weight: bold;
    text-align: left;
}

.eval-scale-num {
    text-align: center;
    padding-right: 32px !important;
}

.eval-scale-desc {
    text-align: left;
}

/* Evaluation Matrix Table */
.eval-matrix-table {
    width: 100%;
    border-collapse: collapse;
    border: 1.5px solid #000000;
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    color: #000000;
    margin-bottom: 10px;
}

.eval-matrix-table th,
.eval-matrix-table td {
    border: 1px solid #000000;
    vertical-align: middle;
    background-color: #ffffff;
    box-sizing: border-box;
}

.eval-col-desc {
    padding: 3px 6px;
    text-align: left;
}

.eval-col-rating {
    width: 32px;
    min-width: 32px;
    max-width: 34px;
    text-align: center;
    padding: 2px 0;
    line-height: 1.15;
    font-weight: normal;
}

.eval-cat-header {
    font-weight: bold;
    text-align: left;
    padding: 3px 6px;
}

/* Comments / Suggestions Section */
.eval-comments-wrap {
    width: 100%;
    margin-top: 6px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    color: #000000;
}

.eval-comments-label {
    font-weight: normal;
    margin-bottom: 4px;
}

.eval-comments-lines {
    width: 100%;
}

.eval-ruled-line {
    width: 100%;
    border-bottom: 1px solid #000000;
    height: 20px;
    line-height: 20px;
    padding: 0 4px;
    box-sizing: border-box;
    font-size: 10.5pt;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Official Standardized ISO Footer */
.appointment-footer-container {
    position: absolute;
    bottom: 8mm;
    left: 0;
    right: 0;
    width: 100%;
    height: 1.86cm;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    box-sizing: border-box;
}

.appointment-footer-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.5mm;
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
    font-size: 7.5pt;
    line-height: 1.35;
    color: #000000;
    pointer-events: auto;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap;
}

.appointment-footer-text div:first-child {
    margin-bottom: 2px;
}

.appointment-footer-text a {
    color: #000000;
    text-decoration: none;
}

.appointment-footer-socotec {
    position: absolute;
    right: 14mm;
    bottom: 0;
    width: 3.6cm;
    height: 1.86cm;
    object-fit: fill;
    display: block;
    pointer-events: auto;
}

@media print {
    body.gcs-form-body {
        background: #ffffff !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .gcs-toolbar {
        display: none !important;
    }
    .gcs-paper-viewport {
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
    }
    .gcs-sheet-portrait {
        box-shadow: none !important;
        border: none !important;
        margin: 0 !important;
        width: 100% !important;
        min-height: auto !important;
        padding: 6mm 14mm 20mm 14mm !important;
    }
    .appointment-footer-container {
        position: absolute !important;
        bottom: 4mm !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }
    .appointment-footer-text {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: center !important;
    }
    .appointment-footer-socotec {
        position: absolute !important;
        right: 14mm !important;
        bottom: 0 !important;
    }
}
