/* Print styles — BOS report card: start at top of page, no clipping from scale/overflow */

@media print {
    /* One @page definition; invalid margin:auto breaks layout in Chrome print */
    /* ~10–12mm gutters match typical browser print / school hard copy (was 2mm/8mm — read as edge-to-edge in PDF) */
    @page {
        size: A4;
        margin: 12mm 10mm 12mm 10mm;
    }

    /* Do not use a separate named page with different margins (avoids inconsistent engines) */
    html {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body {
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
        font-family: Arial, sans-serif;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

    /* Force background colors to print */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    html, body, table, tr, td, th {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Main card: natural height only (screen CSS uses min-height:297mm — must not force a blank sheet in Edge/mobile print) */
    .result_body,
    .result_body.rtl-layout {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 auto !important;
        background: white;
        box-sizing: border-box;
        box-shadow: none !important;
        overflow: visible !important;
        transform: none !important;
        page-break-after: auto !important;
        page-break-inside: auto;
    }

    /* Watermark: keep behind content; encourage printing (enable “Background graphics” if missing) */
    .result_body.ect-result-watermark {
        position: relative !important;
        isolation: isolate;
    }

    .result_body.ect-result-watermark::before {
        content: "" !important;
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-image: var(--ect-watermark-img, none) !important;
        background-repeat: no-repeat !important;
        background-position: center 40% !important;
        background-size: clamp(120px, 55%, 380px) auto !important;
        opacity: 0.12 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .result_body.ect-result-watermark > .results-container {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Screen/browser print: keep using ::before; hide PDF-only wrapper */
    .result_body .ect-pdf-watermark-wrap {
        display: none !important;
    }

    /*
     * Dompdf: no var() on ::before; use <img>. Flex justify-content on abs-pos boxes is unreliable;
     * RTL (rtl-layout) can also shift flex/text alignment — force LTR on the band and center with
     * absolute + translate. Wrap is full height so top:% is vs whole card; logo center at 40%.
     */
    body.ect-pdf-dompdf .result_body.ect-result-watermark .ect-pdf-watermark-wrap {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        direction: ltr !important;
        z-index: 0 !important;
        pointer-events: none !important;
        overflow: visible !important;
    }

    body.ect-pdf-dompdf .result_body.ect-result-watermark .ect-pdf-watermark-only {
        display: block !important;
        position: absolute !important;
        left: 50% !important;
        top: 40% !important;
        transform: translate(-50%, -50%) !important;
        width: 55% !important;
        max-width: 380px !important;
        min-width: 120px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0.12 !important;
        pointer-events: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .results-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
    }

    /* Banner — flush to top, no extra band of whitespace */
    .bos-banner {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0;
    }

    .bos-banner img {
        width: 100%;
        height: auto;
        max-height: 28mm;
        object-fit: contain;
        object-position: top center;
    }

    .school-address {
        font-size: 9.5pt;
        margin: 0 !important;
        padding: 0.5mm 0 2px;
        text-align: center;
    }

    /*
     * Dompdf substitutes Times/Arial with core PDF fonts that lack ★ (U+2605) and ✓ (U+2713);
     * bundled DejaVu Sans includes them. body.ect-pdf-dompdf is only on PDF HTML from the emailer.
     * Whole .school-address: contact line is often one field (subtitle1) with literal ★ — no .ect-address-star spans.
     */
    body.ect-pdf-dompdf .school-address,
    body.ect-pdf-dompdf .school-address p {
        font-family: 'DejaVu Sans', DejaVu Sans, sans-serif !important;
    }

    body.ect-pdf-dompdf .ect-address-star {
        font-family: 'DejaVu Sans', DejaVu Sans, sans-serif !important;
    }

    body.ect-pdf-dompdf .skills table.skills-table td.skills-score-cell {
        font-family: 'DejaVu Sans', DejaVu Sans, sans-serif !important;
    }

    hr {
        margin: -4px 0 2px !important;
    }

    .bos-legacy-results .school-address {
        padding: 0 0 2px !important;
    }

    .results-container.bos-legacy-results,
    .results-container.bos-legacy-results * {
        font-family: "Times New Roman", Times, serif !important;
    }

    /* BOS legacy: grade-sheet column header row (S/N, Subjects, CA..., Remarks) */
    .results-container.bos-legacy-results .grade-sheet table tr:nth-child(2) td {
        font-size: 12.667px !important;
        font-weight: 700 !important;
    }

    /* BOS legacy: match skills/rating text size to 12.6667px */
    .results-container.bos-legacy-results .skills table,
    .results-container.bos-legacy-results .skills table th,
    .results-container.bos-legacy-results .skills table td,
    .results-container.bos-legacy-results .skills .skills-table td.skills-score,
    .results-container.bos-legacy-results .skills .skills-table td.skills-score-cell {
        font-size: 12.6667px !important;
    }

    .bos-legacy-results hr {
        margin: -6px 0 0 !important;
    }

    .header,
    .student-details-wrapper {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
    }

    /* Table Styling */
    table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 1mm;
    }

    /* Match report-card-style.css (screen /results card) — avoid !important so section rules can differ */
    td {
        border: 1px solid #000;
        padding: 2px 3px;
        font-size: 9.5pt;
        line-height: 1.2;
    }

    td[style*="background-color"] {
        background-color: #573b8a !important;
        color: #fff !important;
        font-size: 11pt;
        padding: 3px;
        background-image: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    td[style*="background-color: #f0f0f0"],
    .grading-key td[style*="background-color: #f0f0f0"] {
        background-color: #f0f0f0 !important;
        color: #000 !important;
        background-image: none !important;
    }

    .student-details-table {
        margin-bottom: 1.5mm;
        border-collapse: collapse;
        max-width: 100%;
        margin-top: 0 !important;
        table-layout: auto;
    }

    .student-details-table td {
        padding: 2px 4px;
        height: auto;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.1;
    }

    .student-details-table td:nth-child(1),
    .student-details-table td:nth-child(3),
    .student-details-table td:nth-child(5) {
        width: 14%;
        max-width: 14%;
        font-weight: 600;
    }

    .student-details-table td:nth-child(2),
    .student-details-table td:nth-child(4),
    .student-details-table td:nth-child(6) {
        width: 16%;
        max-width: 16%;
    }

    .student-details-table tr:last-child td {
        white-space: normal;
        word-wrap: break-word;
        word-break: break-word;
    }

    .student-details-table td[colspan="2"] {
        width: fit-content;
        min-width: fit-content;
        max-width: fit-content;
    }

    .student-details-table td:last-child {
        width: 85px;
        min-width: 85px;
    }

    .student-details-table img {
        width: 72px;
        height: 72px;
        object-fit: contain;
    }

    .bos-legacy-student-details-text .bos-legacy-result-sheet-title {
        width: 100%;
        margin: 0 0 4px 0 !important;
        padding: 0;
        font-family: 'Times New Roman', Times, serif;
        font-size: 11pt;
        font-weight: bold;
        line-height: 1.25;
        text-align: center;
        text-align-last: center;
        text-justify: auto;
    }

    /*
     * BOS legacy student row: Dompdf does not lay out flex reliably — the text column
     * can collapse to zero width and push the photo below. Use table layout for print/PDF.
     */
    .bos-legacy-student-details-wrap {
        display: table !important;
        table-layout: auto !important;
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 10px 0 !important;
        font-family: 'Times New Roman', Times, serif;
        font-size: 9.5pt;
        line-height: 1.3;
        margin-top: 0 !important;
        margin-bottom: 1.5mm;
    }

    .bos-legacy-student-details-text {
        display: table-cell !important;
        width: auto !important;
        vertical-align: top !important;
        flex: none !important;
        min-width: 0;
        text-align: justify;
        text-justify: inter-word;
    }

    .bos-legacy-line {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        text-align: justify;
        text-justify: inter-word;
    }

    .bos-legacy-line--fields {
        margin-top: 0.15em;
    }

    .bos-legacy-line--fields .bos-legacy-pair {
        display: inline;
        margin-right: 0.55em;
    }

    .bos-legacy-pair {
        display: inline;
    }

    .bos-legacy-label {
        font-weight: 700;
    }

    .bos-legacy-value {
        font-weight: 400;
    }

    .bos-legacy-student-photo {
        display: table-cell !important;
        width: 88px !important;
        max-width: 88px !important;
        white-space: nowrap !important;
        vertical-align: top !important;
        text-align: right !important;
        flex-shrink: 0 !important;
        border: 1px solid #ccc !important;
        border-radius: 4px;
        padding: 2px;
        background: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .bos-legacy-student-photo img {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
        object-fit: contain;
    }

    .grade-sheet {
        margin-bottom: 1.5mm;
    }

    .grade-sheet table {
        margin-top: 0;
        font-size: 8pt;
        margin-bottom: 0.5mm;
    }

    /* BOS: Grade Sheet title + skills category row — same banner */
    .result_body:not(.rtl-layout) .grade-sheet table tr:first-child td,
    .result_body:not(.rtl-layout) .skills .skills-table tr:first-child td {
        background-color: #573b8a !important;
        color: #fff !important;
        text-align: center !important;
        font-weight: 700 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .result_body:not(.rtl-layout) .grade-sheet table tr:first-child td {
        text-transform: uppercase;
    }

    /* Dompdf: :not() can be ignored — duplicate without it so PDF matches browser print */
    .result_body .grade-sheet table tr:first-child td,
    .result_body .skills .skills-table tr:first-child td {
        background-color: #573b8a !important;
        color: #fff !important;
        text-align: center !important;
        font-weight: 700 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .result_body .grade-sheet table tr:first-child td {
        text-transform: uppercase;
    }

    .grade-sheet td {
        padding: 1px 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .grade-sheet table tr:nth-child(2) td {
        font-size: 7pt;
        padding: 1px;
        text-align: left !important;
        vertical-align: top;
        white-space: normal;
    }

    .grade-sheet table td:nth-child(2) {
        min-width: 50px;
        white-space: normal;
    }

    .grade-sheet table td:nth-child(n+3) {
        min-width: 30px;
        text-align: left;
    }

    .grade-sheet table tr:nth-child(n+3) td {
        text-align: left !important;
        white-space: normal;
    }

    .skills .skills-table td.skills-item {
        text-transform: capitalize;
    }

    .skills .skills-table td.skills-sn,
    .skills .skills-table th.skills-sn,
    .skills .skills-table td.skills-label,
    .skills .skills-table th.skills-label {
        text-align: left !important;
    }

    .skills {
        margin-top: 0 !important;
        margin-bottom: 3.5mm !important;
        width: 100%;
        clear: both;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 10px;
        box-sizing: border-box;
    }

    .skills-category {
        float: left;
        width: 48%;
        margin-right: 2%;
    }

    .skills-category:last-child {
        margin-right: 0;
    }

    .skills table {
        font-size: 9.5pt;
        margin-bottom: 0.5mm;
        margin-left: 0;
        margin-right: 0;
    }

    .skills table.skills-table {
        flex: 1 1 0;
        width: 0 !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /*
     * Dompdf does not lay out flex children like browsers; flex + width:0 collapses skills tables
     * to a hairline (vertical letter stacking). body.ect-pdf-dompdf is only set on PDF HTML.
     */
    body.ect-pdf-dompdf .result_body .skills {
        display: block !important;
        width: 100% !important;
    }

    body.ect-pdf-dompdf .result_body .skills table.skills-table {
        float: left !important;
        display: table !important;
        flex: none !important;
        width: 48% !important;
        min-width: 120px !important;
        max-width: 49% !important;
        box-sizing: border-box !important;
        margin-right: 2% !important;
        margin-bottom: 2mm !important;
    }

    body.ect-pdf-dompdf .result_body .skills table.skills-table:nth-of-type(2n) {
        margin-right: 0 !important;
    }

    body.ect-pdf-dompdf .result_body .skills::after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    .result_body .skills table.skills-table {
        table-layout: fixed !important;
    }

    .result_body .skills table.skills-table col.skills-col-sn {
        width: 12% !important;
    }

    .result_body .skills table.skills-table col.skills-col-label {
        width: 46% !important;
    }

    .result_body .skills table.skills-table td.skills-sn,
    .result_body .skills table.skills-table th.skills-sn {
        width: 12% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .result_body .skills table.skills-table td.skills-label,
    .result_body .skills table.skills-table th.skills-label {
        width: 46% !important;
    }

    .result_body .skills table.skills-table col.skills-col-score {
        width: 8% !important;
    }

    .result_body .skills table.skills-table td.skills-score,
    .result_body .skills table.skills-table th.skills-score,
    .result_body .skills table.skills-table td.skills-score-cell {
        width: 8% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .result_body.rtl-layout .skills table.skills-table {
        table-layout: fixed !important;
    }

    .result_body.rtl-layout .skills table.skills-table col.skills-col-sn {
        width: 12% !important;
    }

    .result_body.rtl-layout .skills table.skills-table col.skills-col-label {
        width: 46% !important;
    }

    .result_body.rtl-layout .skills table.skills-table col.skills-col-score {
        width: 8% !important;
    }

    .result_body.rtl-layout .skills table.skills-table td.skills-sn,
    .result_body.rtl-layout .skills table.skills-table th.skills-sn {
        width: 12% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .result_body.rtl-layout .skills table.skills-table td.skills-label,
    .result_body.rtl-layout .skills table.skills-table th.skills-label {
        width: 46% !important;
    }

    .result_body.rtl-layout .skills table.skills-table td.skills-score,
    .result_body.rtl-layout .skills table.skills-table td.skills-score-cell {
        width: 8% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    /* Float clearfix not needed when printing; empty table can confuse pagination in Edge */
    .skills::after {
        content: none !important;
        display: none !important;
    }

    .skills tr td {
        font-size: 9pt;
        text-align: left;
        padding: 2px 4px;
        line-height: 1.15;
    }

    .skills tr th {
        font-size: 9.5pt;
        text-align: left;
        padding: 2px 4px;
        line-height: 1.15;
    }

    .overview {
        margin-bottom: 1mm;
    }

    .overview table {
        width: 100%;
        margin-bottom: 0.5mm;
    }

    .overview td {
        padding: 2px 4px;
        font-size: 9.5pt;
        font-weight: normal;
    }

    .overview td[colspan="6"] {
        font-size: 11pt;
        padding: 3px;
        background-color: #573b8a !important;
        color: #fff !important;
        background-image: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .overview td[style*="background-color: #573b8a"] {
        background-color: #573b8a !important;
        color: #fff !important;
        font-weight: bold !important;
        text-align: center !important;
    }

    .grading-key {
        margin-bottom: 3.5mm !important;
    }

    .grading-key--text-block {
        margin: 2px 0 3.5mm 0 !important;
        padding: 0 !important;
    }

    .grading-key--text-block .grading-key-inline-body {
        margin: 0;
        padding: 0;
        font-family: 'Times New Roman', Times, serif;
        font-size: 9.5pt;
        line-height: 1.35;
        font-weight: bold;
        text-align: left;
        color: #000 !important;
    }

    .grading-key table {
        width: 100%;
        margin-bottom: 0.5mm;
        font-size: 9.5pt;
    }

    .grading-key td {
        padding: 2px 4px;
        font-size: 9pt;
        text-align: left;
        border: 1px solid #000;
    }

    .grading-key td[style*="background-color: #573b8a"] {
        background-color: #573b8a !important;
        color: #fff !important;
        font-weight: bold !important;
        text-align: center !important;
        font-size: 11pt;
        padding: 3px;
    }

    .grading-key td[style*="background-color: #f0f0f0"] {
        background-color: #f0f0f0 !important;
        color: black !important;
        font-weight: bold !important;
        text-align: center !important;
    }

    .remarks {
        margin-bottom: 4mm !important;
    }

    .remarks table {
        width: 100%;
        font-size: 9.5pt;
    }

    .remarks td {
        padding: 2px 4px;
        font-size: 9.5pt;
    }

    .remarks td:first-child {
        font-weight: 700;
    }

    .remarks table td:not(:first-child) {
        font-weight: 400;
    }

    .remarks--legacy-text-layout .remarks-legacy-dotted-comment {
        font-weight: 400;
    }

    /* BOS legacy text remarks (no table) */
    .remarks--legacy-text-layout {
        font-family: 'Times New Roman', Times, serif;
        font-size: 9.5pt;
        line-height: 1.35;
    }

    .remarks--legacy-text-layout .remarks-legacy-dotted-line {
        margin-bottom: 0.35em;
    }

    .remarks--legacy-text-layout .remarks-legacy-dotted-rule-bar {
        border-bottom-color: #000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .remarks--legacy-text-layout .remarks-legacy-signatures {
        margin-top: 2mm;
        gap: 6mm;
    }

    /* Dompdf: flex row + flex children on sign columns stacks vertically; use floats like .skills */
    body.ect-pdf-dompdf .remarks--legacy-text-layout .remarks-legacy-signatures {
        display: block !important;
        width: 100% !important;
    }

    body.ect-pdf-dompdf .remarks--legacy-text-layout .remarks-legacy-sign-col {
        float: left !important;
        display: block !important;
        flex: none !important;
        width: 48% !important;
        min-width: 100px !important;
        max-width: 49% !important;
        box-sizing: border-box !important;
        margin-right: 2% !important;
    }

    body.ect-pdf-dompdf .remarks--legacy-text-layout .remarks-legacy-sign-col--teacher {
        margin-right: 0 !important;
    }

    body.ect-pdf-dompdf .remarks--legacy-text-layout .remarks-legacy-signatures::after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    body.ect-pdf-dompdf .remarks--legacy-text-layout .remarks-legacy-sign-sig-above {
        display: block !important;
        text-align: center !important;
    }

    .remarks--legacy-text-layout .remarks-legacy-sign-heading {
        font-size: inherit;
    }

    .remarks--legacy-text-layout .remarks-legacy-sign-name,
    .remarks--legacy-text-layout .remarks-legacy-date-line {
        font-size: inherit;
    }

    .remarks--legacy-text-layout .remarks-legacy-sign-sig-above {
        min-height: 32px;
    }

    .remarks--legacy-text-layout .remarks-legacy-signature-img {
        max-height: 28px !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    img[alt="Signature"],
    img[alt*="Signature"],
    img[alt*="signature"] {
        width: 60px !important;
        height: 30px !important;
        object-fit: contain !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Arabic table remarks + any inline border on class */
    .result_body img.signature-image,
    .result_body.rtl-layout img[alt="توقيع المعلم/المعلمة"],
    .result_body.rtl-layout img[alt="توقيع المدير"] {
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    img[alt="Student Image"],
    img[alt*="Student Photo"],
    img[alt*="student photo"] {
        width: 72px !important;
        height: 72px !important;
        object-fit: contain !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
    }

    .passed {
        color: #28a745;
        font-weight: bold;
    }

    .failed {
        color: #dc3545;
        font-weight: bold;
    }

    .no_print {
        display: none !important;
    }

    .grade-sheet::before {
        display: none !important;
    }

    /* Allow page breaks so content is not clipped (second sheet if needed) */
    .result_body,
    .results-container,
    .grade-sheet,
    .skills,
    .remarks {
        page-break-inside: auto;
        break-inside: auto;
    }

    table {
        page-break-inside: auto;
    }

    /* avoid: on every row can confuse Edge/Chromium and yield an extra blank page */
    tr {
        page-break-inside: auto;
        break-inside: auto;
    }

    /* -------------------------------------------------------------------------
     * Override Educare core results.css @media print (absolute + width:90%, etc.)
     * ------------------------------------------------------------------------- */
    body,
    html {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        /* Let report card pt rules match screen; avoid Educare print 11px skewing the layout */
        font-size: inherit !important;
    }

    #educareResults,
    #educareResults.educare_results,
    .educare_results {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: visible !important;
    }

    .educare_results .result_body,
    .educare_results .results-container,
    #educareResults .result_body,
    #educareResults .result_body.rtl-layout,
    #educareResults .results-container {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        transform: none !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        visibility: visible !important;
    }

    /*
     * Educare results.css @media print sets table, td, th { white-space: nowrap }.
     * Mirror report-card-style.css: grade sheet uses nowrap on base td, then normal on key rows/columns.
     */
    .result_body table td,
    .result_body table th {
        white-space: normal !important;
    }

    .result_body .grade-sheet td {
        white-space: nowrap !important;
    }

    .result_body .grade-sheet table tr:nth-child(2) td,
    .result_body .grade-sheet table td:nth-child(2),
    .result_body .grade-sheet table tr:nth-child(n+3) td {
        white-space: normal !important;
    }

    .skills table.skills-table th,
    .skills table.skills-table td {
        padding: 4px 6px;
        line-height: 1.15;
        vertical-align: middle;
    }
}
