/* Print Styles for CUHK Facts & Figures */

/* Print Styles for Better Printing */
@media print {

    :root,
    body {
        --classic-purple: #764393 !important;
        --cuhk-classic-purple: #764393 !important;
        --royal-purple: #764393 !important;
        --cuhk-royal-purple: #764393 !important;
        --dynamic-purple: #764393 !important;
        --cuhk-dynamic-purple: #764393 !important;
        --dark-purple: #764393 !important;
    }

    /* Set page size and margins.
       Non-cover pages use 10px safe margins to keep text legible and consistent. */
    @page {
        size: A4;
        margin: 10px;

        @bottom-right {
            content: counter(page);
            font-size: 8.1pt;
            font-family: Arial, sans-serif;
            color: rgba(0, 0, 0, 0.35);
            padding-right: 0;
            vertical-align: middle;
        }
    }

    /* First pages use the standard margin unless the cover/full-booklet print path overrides it. */
    @page:first {
        margin: 10px;

        @bottom-right {
            content: none;
        }
    }

    @page cover {
        size: A4;
        margin: 0;

        @bottom-right {
            content: none;
        }
    }

    /* Named pages — match the bottom margin strip to each section's background */
    @page section-beige {
        margin: 10px;
        @bottom-left   { content: ''; background: #F5F0E6; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-center { content: ''; background: #F5F0E6; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-right  {              background: #F5F0E6; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    }

    @page section-purple {
        margin: 10px;
        @bottom-left   { content: ''; background: #F8F5FA; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-center { content: ''; background: #F8F5FA; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-right  {              background: #F8F5FA; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    }

    @page section-research {
        margin: 10px;
        @bottom-left   { content: ''; background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-center { content: ''; background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-right  {              background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    }

    @page section-labs {
        margin: 10px;
        @bottom-left   { content: ''; background: var(--cuhk-royal-purple); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-center { content: ''; background: var(--cuhk-royal-purple); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-right  {              background: var(--cuhk-royal-purple); -webkit-print-color-adjust: exact; print-color-adjust: exact; color: rgba(255, 255, 255, 0.45); }
    }

    /* Reset body padding that's set for navbar in normal view */
    body {
        padding-top: 0 !important;
        margin: 0 !important;
        background: #ffffff;
        background-color: #ffffff;
    }

    /* Reset html margin/padding */
    html {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
    }

    /* Apply beige background to body and html for sections that need it */
    html[data-active-print-section="achievements"],
    body[data-active-print-section="achievements"],
    html[data-active-print-section="programmes-exchange"],
    body[data-active-print-section="programmes-exchange"] {
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
    }

    html[data-active-print-section="rankings"],
    body[data-active-print-section="rankings"] {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    /* Apply matching backgrounds for other specific sections */
    html[data-active-print-section="students"],
    body[data-active-print-section="students"] {
        background: #F8F5FA !important;
        background-color: #F8F5FA !important;
    }

    html[data-active-print-section="greater-bay-area"],
    body[data-active-print-section="greater-bay-area"] {
        background: transparent !important;
        background-color: transparent !important;
    }

    body.printing-section[data-active-print-section="greater-bay-area"]::before {
        display: none !important;
    }

    body.printing-section[data-active-print-section="greater-bay-area"] #printable-content,
    body.printing-section[data-active-print-section="greater-bay-area"] .section.print-active.gba-section {
        position: relative !important;
        z-index: 1 !important;
    }

    html[data-active-print-section="research"],
    body[data-active-print-section="research"] {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    html[data-active-print-section="scholarships"],
    body[data-active-print-section="scholarships"] {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    /* Reset printable-content container */
    #printable-content {
        margin: 0 !important;
        padding: 0 !important;
        position: relative;
        background: transparent !important;
        background-color: transparent !important;
    }

    /* Force color reproduction */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Ensure all images are visible in print */
    img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-width: 100% !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Prevent page breaks inside important content */
    section,
    .section,
    .ranking-card,
    .ranking-print-group,
    .ranking-print-row,
    .achievement-card,
    .achievement-print-card,
    .lab-card,
    .output-item,
    .gba-item,
    .hostel-item,
    .library-item,
    .sport-item,
    .career-item,
    .funding-source-card,
    .chart-container,
    .donut-chart,
    .pie-chart,
    table,
    .stats-grid,
    .print-location-map,
    figure,
    .content-block {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Keep headings with their following content */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .section-title,
    .subsection-title {
        page-break-after: avoid !important;
        break-after: avoid !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Prevent orphans and widows */
    p,
    li {
        orphans: 3;
        widows: 3;
    }

    /* Keep list items together */
    li {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Hide navigation and interactive elements */
    .navbar,
    .hamburger,
    .floating-controls,
    .print-btn,
    .section-print-btn,
    .section-header .section-print-btn,
    .section .section-print-btn,
    button.section-print-btn,
    [data-print-target],
    .section-last-updated,
    .ai-editor,
    .ai-editor-toggle,
    .user-info-toggle,
    .user-guide-toggle,
    .user-info-panel,
    .nav-actions,
    .active-users-panel,
    .realtime-status,
    .add-ranking-card,
    .add-achievement-card,
    .add-lab-card,
    .add-output-item,
    .add-gba-item,
    .add-hostel-item,
    .add-library-item,
    .add-library-stat-item,
    .add-sport-item,
    .add-career-item,
    .add-funding-item,
    .add-location-control,
    .add-achievement-category,
    .section-visibility-toggle,
    .active-users-toggle,
    .email-reminder-toggle,
    .confirmations-review-toggle,
    .data-confirm-toggle,
    #data-confirm-toggle,
    .restricted-info-toggle,
    #restricted-info-toggle,
    .chinese-override-toggle,
    #chinese-override-toggle,
    .hero {
        display: none !important;
    }

    /* Minimize section titles spacing for print */
    .section-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        margin: 0.094in 0 0.078in 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .section-title .chinese {
        display: block !important;
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin-top: 0.031in !important;
        margin-left: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .subsection-title {
        display: none !important;
        font-size: 1.8pt !important;
        font-weight: 400 !important;
        margin: 0.047in 0 0.023in 0 !important;
        padding: 0 !important;
        line-height: 0.5 !important;
        letter-spacing: 0.01em !important;
    }

    /* Minimize all heading elements */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin: 0.039in 0 0.023in 0 !important;
        padding: 0 !important;
        line-height: 1.1 !important;
    }

    h1 {
        font-size: 11.9pt !important;
    }

    h2 {
        font-size: 10.3pt !important;
    }

    h3 {
        font-size: 9.2pt !important;
    }

    h4 {
        font-size: 8.1pt !important;
    }

    h5 {
        font-size: 7.6pt !important;
    }

    h6 {
        font-size: 7pt !important;
    }

    /* Achievements Section - consistent cream/beige background */
    .achievements-section {
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
    }

    .achievements-section .container {
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
        padding: 0.039in 0.195in 0.156in 0.195in !important;
    }

    .achievements-section .section-header {
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
    }

    .achievements-print {
        display: block !important;
        padding: 0.062in 0 !important;
        color: var(--cuhk-royal-purple) !important;
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
    }

    .achievements-print-header {
        display: none !important;
    }

    .achievements-print-heading {
        display: none !important;
        flex-direction: column !important;
        gap: 0.023in !important;
    }

    .achievements-print-heading .heading-en {
        font-size: 20pt !important;
        font-weight: 700 !important;
        letter-spacing: 0.045em !important;
    }

    .achievements-print-heading .heading-zh {
        font-size: 18pt !important;
        color: var(--cuhk-classic-purple) !important;
        font-weight: 700 !important;
    }

    .achievements-print-heading .heading-year {
        font-size: 11.3pt !important;
        font-weight: 600 !important;
        letter-spacing: 0.18em !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .achievements-print-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.172in !important;
        background: #F5F0E6 !important;
    }

    .achievements-print-laurels {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.14in !important;
        background: #F5F0E6 !important;
    }

    .achievements-print-medals {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0.14in !important;
        background: #F5F0E6 !important;
    }

    .achievement-print-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.062in !important;
        text-align: center !important;
        color: var(--cuhk-royal-purple) !important;
        background: transparent !important;
    }

    .achievement-print-card .achievement-graphic {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        background: transparent !important;
    }

    .achievement-print-card svg {
        width: 100% !important;
        max-width: 2in !important;
        height: auto !important;
    }

    /* Laurel awards should display as badges with leaves and stars */
    .achievement-print-card.laurel svg {
        max-width: 2.2in !important;
    }

    /* Medal awards should display as circular medals */
    .achievement-print-card.medal svg {
        max-width: 1.85in !important;
    }

    .achievement-print-card .achievement-caption {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.027in !important;
        color: #4d4d4d !important;
        font-size: 7.3pt !important;
        line-height: 1.25 !important;
    }

    .achievement-print-card .achievement-caption .caption-en {
        font-size: 8pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .achievement-print-card .achievement-caption .caption-zh {
        font-size: 6.9pt !important;
        color: #5b5b5b !important;
    }

    .achievement-print-card .achievement-caption .caption-year {
        font-size: 6pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.07em !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .achievements-print-medals .achievement-print-card {
        color: var(--cuhk-royal-purple) !important;
    }

    /* Print cover page - ensure it displays on its own page */
    .print-cover {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 210mm !important;
        height: 297mm !important;
        min-height: 297mm !important;
        max-height: 297mm !important;
        page-break-after: always !important;
        break-after: page !important;
        page-break-before: auto !important;
        break-before: auto !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        position: relative !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        page: cover !important;
    }

    .print-cover img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 210mm !important;
        height: 297mm !important;
        max-width: 210mm !important;
        max-height: 297mm !important;
        object-fit: cover !important;
        object-position: top center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.printing-section .print-cover {
        display: none !important;
    }

    /* Show cover page when printing all sections */
    body.printing-all-sections .print-cover {
        display: block !important;
    }

    /* Section printing - hide all sections except the active one */
    body.printing-section .section {
        display: none !important;
    }

    body.printing-section .section.print-active {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-before: auto !important;
        break-before: auto !important;
        page-break-after: auto !important;
        break-after: auto !important;
        page-break-inside: auto !important;
        break-inside: auto !important;
    }

    body.printing-section .section.print-active > .container {
        page-break-after: auto !important;
        break-after: auto !important;
        page-break-inside: auto !important;
        break-inside: auto !important;
    }

    body.printing-section .section.print-active > .container > :last-child,
    body.printing-section .section.print-active .rankings-print > :last-child,
    body.printing-section .section.print-active .achievements-print > :last-child,
    body.printing-section .section.print-active .research-print > :last-child,
    body.printing-section .section.print-active .labs-print > :last-child,
    body.printing-section .section.print-active .students-print > :last-child,
    body.printing-section .section.print-active .programmes-exchange-print-wrapper > :last-child,
    body.printing-section .section.print-active .scholarships-print > :last-child,
    body.printing-section .section.print-active .global-print > :last-child,
    body.printing-section .section.print-active .facilities-print > :last-child,
    body.printing-section .section.print-active #gba-timeline-print > :last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    /* When printing all sections, show all print-active sections */
    body.printing-all-sections .section {
        display: none !important;
    }

    body.printing-all-sections .section.print-active {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.printing-section .section>.container>.section-header,
    body.printing-all-sections .section>.container>.section-header {
        display: none !important;
    }

    /* Force colored sections to span the printable content area so background fills correctly.
       calc(297mm - 20px) = A4 height minus 10px top and 10px bottom margins.
       The `page` property assigns each group to a named @page rule whose bottom margin
       strip matches the section background. */
    .achievements-section,
    .programmes-exchange-section {
        min-height: calc(297mm - 20px) !important;
        background: #F5F0E6 !important;
        background-color: #F5F0E6 !important;
        page: section-beige;
    }

    .rankings-section {
        min-height: calc(297mm - 20px) !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        page: auto;
    }

    .rankings-section > .container {
        padding: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .students-section {
        min-height: calc(297mm - 20px) !important;
        background: #F8F5FA !important;
        background-color: #F8F5FA !important;
        page: section-purple;
    }

    .research-section {
        min-height: calc(297mm - 20px) !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        page: section-research;
    }

    body.printing-section[data-active-print-section="research"] .research-section,
    body.printing-section[data-active-print-section="research"] .research-section > .container,
    body.printing-section[data-active-print-section="research"] .research-print {
        min-height: auto !important;
        height: auto !important;
        max-height: calc(297mm - 20px) !important;
        overflow: hidden !important;
        page-break-after: avoid !important;
        break-after: avoid !important;
    }

    .scholarships-section {
        min-height: calc(297mm - 20px) !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        page: section-research;
    }

    /* Also hide navigation and other elements when section printing */
    body.printing-section .navbar,
    body.printing-section .hero,
    body.printing-section .footer,
    body.printing-all-sections .navbar,
    body.printing-all-sections .hero,
    body.printing-all-sections .footer {
        display: none !important;
    }

    /* Always hide print icons/buttons while printing (wins over static-mode screen CSS). */
    body.printing-section .print-btn,
    body.printing-section .section-print-btn,
    body.printing-section .section-header .section-print-btn,
    body.printing-all-sections .print-btn,
    body.printing-all-sections .section-print-btn,
    body.printing-all-sections .section-header .section-print-btn {
        display: none !important;
    }

    .rankings-grid {
        display: none !important;
    }

    .subject-rankings-container {
        display: none !important;
    }

    /* Hide print buttons in rankings section during print */
    .rankings-section .section-print-btn,
    .rankings-section .print-btn {
        display: none !important;
    }

    .rankings-section .section-header {
        display: none !important;
    }

    .rankings-print {
        display: block !important;
        margin: 0 !important;
        padding: 0.16in 0.187in 0.1in 0.187in !important;
    }

    .facelift-print-heading {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
        margin: 0 0 0.156in 0 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .facelift-print-title-en {
        font-size: 15.1pt !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .facelift-print-title-zh {
        font-size: 9.7pt !important;
        font-weight: 300 !important;
        color: #666666 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .ranking-note {
        margin: 0.12in 0 0 !important;
        font-size: 7.1pt !important;
        text-align: left !important;
        page-break-before: avoid !important;
        break-inside: avoid !important;
    }

    .ranking-note p {
        margin: 0 !important;
        line-height: 1.2 !important;
        font-size: 7.1pt !important;
    }

    .band-label {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.117in 0.07in !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        font-size: 8.6pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.095em !important;
        writing-mode: vertical-rl !important;
        text-orientation: mixed !important;
        border-radius: 0 !important;
        line-height: 1.1 !important;
    }

    .band-label .label-zh {
        font-size: 7.5pt !important;
        margin-top: 0.062rem !important;
        letter-spacing: 0.05em !important;
    }

    .band-label .label-en {
        letter-spacing: 0.095em !important;
        margin: 0 !important;
    }

    .rankings-print {
        box-sizing: border-box !important;
        min-height: auto !important;
        padding: 0.16in 0.187in 0.1in 0.187in !important;
        background: #ffffff !important;
        color: var(--cuhk-black, #2f3133) !important;
        font-family: 'Inter', sans-serif !important;
    }

    .rankings-print .ranking-reference-heading {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.062in !important;
        margin: 0 0 0.08in 0 !important;
        color: var(--cuhk-classic-purple, #764393) !important;
        line-height: 1.15 !important;
    }

    .ranking-reference-title-en {
        font-size: 20pt !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
    }

    .ranking-reference-title-zh {
        font-size: 18pt !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;
    }

    /* Hero banner: three gold cells separated by thin white rules */
    .rankings-print-hero {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        margin: 0 0 0.1in 0 !important;
        background: var(--cuhk-light-royal-gold, #9C885C) !important;
        background-color: var(--cuhk-light-royal-gold, #9C885C) !important;
        color: #ffffff !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .hero-ranking-cell {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        min-height: 1.55in !important;
        padding: 0 0.1in 0.09in 0.1in !important;
        color: #ffffff !important;
    }

    .hero-ranking-cell + .hero-ranking-cell {
        border-left: 1.5pt solid #ffffff !important;
    }

    .hero-ranking-org {
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 0.38in !important;
        padding: 0 0.04in !important;
        border-bottom: 0.75pt solid rgba(255, 255, 255, 0.55) !important;
        font-size: 9.5pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
    }

    .hero-ranking-rank {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 0.58in !important;
        padding: 0 !important;
        font-size: 39pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: -0.02em !important;
        color: #ffffff !important;
    }

    .hero-ranking-rank .ranking-hash {
        font-size: 0.42em !important;
        font-weight: 700 !important;
        align-self: center !important;
        /* Raise the hash so it tops-out near the digits, superscript style */
        margin: 0 0.04em 1.05em 0 !important;
        color: #ffffff !important;
    }

    .hero-ranking-detail {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.035in !important;
    }

    .hero-ranking-title-en {
        display: block !important;
        font-size: 10.5pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        color: #ffffff !important;
    }

    .hero-ranking-title-zh {
        display: block !important;
        font-size: 8.5pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        color: #ffffff !important;
    }

    /* Organization groups: purple heading + stacked ranking rows */
    .rankings-print-groups {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.11in !important;
    }

    .ranking-print-group {
        margin: 0 !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .ranking-print-group-heading {
        margin: 0 0 0.085in 0 !important;
        padding: 0 !important;
        color: var(--cuhk-classic-purple, #764393) !important;
        font-size: 12.5pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        font-family: 'Inter', sans-serif !important;
    }

    .ranking-print-group-rows {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.035in !important;
    }

    /* Single ranking row: light info box + solid purple RANK box */
    .ranking-print-row {
        display: flex !important;
        align-items: stretch !important;
        gap: 0.05in !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .ranking-print-row .row-info {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 0.02in !important;
        min-height: 0.42in !important;
        padding: 0.035in 0.09in !important;
        background: var(--cuhk-milky-purple, #F1ECF4) !important;
        background-color: var(--cuhk-milky-purple, #F1ECF4) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .ranking-print-row .row-org {
        display: block !important;
        color: var(--cuhk-classic-purple, #764393) !important;
        font-size: 7.5pt !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        line-height: 1.2 !important;
    }

    .ranking-print-row .row-title {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.02in !important;
    }

    .ranking-print-row .row-title-en,
    .ranking-print-row .row-title-zh {
        display: block !important;
        color: var(--cuhk-black, #2f3133) !important;
        font-size: 10.5pt !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .ranking-print-row .row-rank {
        flex: 0 0 1.55in !important;
        width: 1.55in !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        padding: 0.04in 0.085in !important;
        background: var(--cuhk-classic-purple, #764393) !important;
        background-color: var(--cuhk-classic-purple, #764393) !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .ranking-print-row .row-rank-label {
        align-self: flex-start !important;
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        line-height: 1 !important;
        padding-top: 0.015in !important;
        color: #ffffff !important;
    }

    .ranking-print-row .row-rank-value {
        align-self: center !important;
        display: inline-flex !important;
        align-items: flex-start !important;
        font-size: 22pt !important;
        font-weight: 700 !important;
        line-height: 0.95 !important;
        letter-spacing: -0.02em !important;
        color: #ffffff !important;
    }

    .ranking-print-row .row-rank-value .ranking-hash {
        font-size: 0.5em !important;
        font-weight: 700 !important;
        margin: 0.08em 0.04em 0 0 !important;
        color: #ffffff !important;
    }

    /* Subject Rankings Print Section */
    .subject-rankings-print-section {
        display: none !important;
    }

    .subject-rankings-print-heading {
        font-size: 11.9pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-purple, #764393) !important;
        margin: 0 0 0.094in 0 !important;
        padding: 0 !important;
        font-family: 'Inter', sans-serif !important;
    }

    .subject-rankings-print-heading .heading-zh {
        font-size: 9.2pt !important;
        font-weight: 400 !important;
        margin-left: 0.094in !important;
        color: var(--cuhk-royal-purple, #764393) !important;
        opacity: 0.75 !important;
    }

    .subject-print-band {
        display: grid !important;
        grid-template-columns: 0.9in auto !important;
        gap: 0.086in !important;
        margin-bottom: 0.109in !important;
        align-items: stretch !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .subject-band-grid {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 0.031in !important;
        align-content: start !important;
    }

    .print-subject-item {
        background: var(--champagne-gold, #F1EBDB) !important;
        padding: 0.043in 0.051in !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.039in !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .print-subject-rank {
        font-size: 14pt !important;
        font-weight: 400 !important;
        color: var(--cuhk-royal-gold, #84754E) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        letter-spacing: -0.02em !important;
    }

    .print-subject-rank .rank-hash {
        font-size: 0.62em !important;
        opacity: 0.75 !important;
    }

    .print-subject-divider {
        width: 0.6pt !important;
        align-self: stretch !important;
        background: var(--cuhk-royal-gold) !important;
        flex-shrink: 0 !important;
        margin: 0.016in 0 !important;
    }

    .print-subject-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
        overflow: hidden !important;
        min-width: 0 !important;
    }

    .print-subject-name {
        font-size: 7.3pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple, #764393) !important;
        line-height: 1.2 !important;
        font-family: 'Inter', sans-serif !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    .print-subject-name-zh {
        font-size: 6.3pt !important;
        color: var(--cuhk-royal-purple, #764393) !important;
        opacity: 0.75 !important;
        line-height: 1.2 !important;
        font-family: 'Inter', sans-serif !important;
    }

    /* Subject band org colors reuse main band-label colors */
    .subject-print-band .band-label {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.117in 0.07in !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        font-size: 8.6pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.095em !important;
        writing-mode: vertical-rl !important;
        text-orientation: mixed !important;
        border-radius: 0 !important;
        line-height: 1.1 !important;
    }

    .subject-print-band.org-qs .band-label {
        background: var(--cuhk-dynamic-gold) !important;
    }

    .subject-print-band.org-usnews .band-label {
        background: var(--cuhk-dynamic-gold) !important;
    }

    .subject-print-band.org-the .band-label {
        background: var(--cuhk-dynamic-gold) !important;
    }

    .subject-print-band.org-shanghai .band-label {
        background: var(--cuhk-dynamic-gold) !important;
    }

    .subject-print-band.org-other .band-label {
        background: var(--cuhk-dynamic-gold) !important;
    }

    /* Other Grid Layouts */
    .achievements-grid,
    .state-labs-grid,
    .innohk-grid {
        display: none !important;
    }


    .facilities-grid,
    .faculties-grid,
    .sports-grid,
    .hostels-grid {
        display: block !important;
        column-count: 2;
        column-gap: 0.39rem;
        margin: 0.234rem 0 !important;
    }

    /* Exchange Section Styles */
    .exchange-programs-section .subsection-title {
        display: block !important;
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        margin: 0.117in 0 0.039in 0 !important;
        padding-bottom: 0.016in !important;
        border-bottom: 1px solid #eee !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .exchange-cards-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(2in, 1fr)) !important;
        gap: 0.117in !important;
        margin: 0.078in 0 !important;
        page-break-inside: avoid !important;
    }

    .exchange-card {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        padding: 0.094in !important;
        border: 1px solid #ddd !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        min-height: 1.2in !important;
        background: #fff !important;
    }

    .exchange-card .card-big-number {
        font-size: 17.3pt !important;
        margin-bottom: 0.039in !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .exchange-card .card-description-english {
        font-size: 8.6pt !important;
        line-height: 1.2 !important;
        color: #4b4b4b !important;
    }

    .exchange-card .card-description-chinese {
        font-size: 8.1pt !important;
        line-height: 1.2 !important;
        color: #454545 !important;
    }

    .exchange-description {
        margin-bottom: 0.078in !important;
    }

    .exchange-description p {
        font-size: 8.6pt !important;
        line-height: 1.3 !important;
        margin-bottom: 0.039in !important;
        color: #1f1f1f !important;
    }




    .achievements-print-qr {
        display: flex !important;
        justify-content: flex-end !important;
        margin-top: 0.195in !important;
    }

    .achievements-print-qr .qr-card {
        display: flex !important;
        align-items: center !important;
        gap: 0.195in !important;
        padding: 0.156in 0.195in !important;
        border: 1px solid var(--cuhk-royal-purple) !important;
        background: #f9f4f2 !important;
        max-width: 4.8in !important;
    }

    .achievements-print-qr .qr-card .qr-graphic {
        flex-shrink: 0 !important;
    }

    .achievements-print-qr .qr-card svg {
        width: 1.4in !important;
        height: 1.4in !important;
    }

    .achievements-print-qr .qr-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.039in !important;
        font-size: 7.8pt !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.35 !important;
    }

    .achievements-print-qr .qr-text .qr-cta-en {
        font-weight: 600 !important;
        font-size: 8pt !important;
    }

    .achievements-print-qr .qr-text .qr-cta-zh {
        font-size: 7.2pt !important;
    }

    .achievements-print-qr .qr-text .qr-note {
        font-size: 6.8pt !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .achievement-item,
    .faculty-item,
    .sport-item,
    .hostel-category {
        display: inline-block;
        width: 100%;
        margin: 0 0 0.156rem 0 !important;
        page-break-inside: avoid;
        padding: 0.117rem !important;
        border: 1px solid #ddd;
        font-size: 7.6pt !important;
    }

    /* Student stats - compact layout */
    .student-stats {
        display: block !important;
    }

    .student-category {
        margin: 0.39rem 0 !important;
        padding: 0.234rem !important;
        border: 1px solid #ddd;
        break-inside: avoid;
    }

    .student-numbers {
        display: flex !important;
        justify-content: space-around;
        margin: 0.156rem 0 !important;
    }

    /* Research stats - compact */
    .research-stats {
        margin: 0.234rem 0 !important;
    }

    .total-output {
        text-align: center;
        margin: 0.156rem 0 !important;
        padding: 0.156rem !important;
        border: 1px solid #000;
    }

    .patents-highlight {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.234rem !important;
        padding: 0.234rem 0.39rem !important;
        margin: 0.156rem 0 !important;
        background: var(--cuhk-royal-gold) !important;
        border: none !important;
        border-radius: 4px !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .patents-icon {
        font-size: 10.8pt !important;

        /* Static mode explicitly forces print buttons visible in screen CSS.
       Override that rule during printing so the print icon never appears on paper/PDF. */
        body.static-site-mode .print-btn,
        body.static-site-mode .section-print-btn,
        body.static-site-mode .nav-actions .print-btn,
        body.static-site-mode .section-header .section-print-btn {
            display: none !important;
        }

        /* Extra specificity to beat `styles.css` static-mode rule even in browsers that
       resolve print/screen stylesheet precedence unexpectedly. */
        html body.static-site-mode .nav-actions button.print-btn,
        html body.static-site-mode button.section-print-btn,
        html body.static-site-mode .section-header>button.section-print-btn {
            display: none !important;
        }

        animation: none !important;
    }

    .patents-number {
        font-size: 13pt !important;
        font-weight: bold !important;
    }

    .patents-label {
        flex-direction: row !important;
        gap: 0.156rem !important;
        font-size: 7.6pt !important;
    }

    .patents-label-en,
    .patents-label-zh {
        font-size: 7.6pt !important;
    }

    .output-breakdown {
        column-count: 3;
        column-gap: 0.234rem;
        margin: 0.156rem 0 !important;
    }

    .output-item {
        break-inside: avoid;
        margin: 0 0 0.078rem 0 !important;
        font-size: 6.5pt;
    }

    /* Charts - make them print-friendly */
    canvas {
        max-width: 100% !important;
        max-height: 200px !important;
        height: auto !important;
        break-inside: avoid;
        page-break-inside: avoid;
        border: 1px solid #ddd !important;
    }

    .funding-chart,
    .career-chart {
        break-inside: avoid;
        page-break-inside: avoid;
        max-width: 100% !important;
        margin: 0.156rem 0 !important;
    }

    /* Specific chart sizing */
    #fundingChart,
    #careerChart {
        max-width: 300px !important;
        max-height: 200px !important;
    }

    .funding-legend,
    .career-legend {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 0.39rem;
        font-size: 6.5pt;
    }

    /* Chart containers - ensure proper print layout */
    .funding-content,
    .career-content {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .funding-overview {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Research Print Layout - matching reference design */
    .research-section .research-print {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-before: auto !important;
        page-break-after: auto !important;
    }

    /* Hide regular research content when printing */
    .research-section .research-subsection,
    .research-section .research-stats,
    .research-section .funding-overview,
    .research-section .achievements-overview {
        display: none !important;
    }

    .research-section .section-header {
        display: none !important;
    }

    .research-section .container {
        padding: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .research-print-wrapper {
        background: #F8F1E8 !important;
        padding: 0.273in 0.234in 0.195in 0.234in !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        row-gap: 0.14in !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .research-output-card {
        display: grid !important;
        grid-template-columns: 2.2in 1fr !important;
        column-gap: 0 !important;
        background: #ffffff !important;
        border-radius: 0 !important;
        overflow: visible !important;
        position: relative !important;
        min-height: 3.2in !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .research-output-left {
        position: relative !important;
        background: linear-gradient(180deg, var(--cuhk-royal-purple) 0%, var(--cuhk-royal-purple) 100%) !important;
        padding: 0.218in 0.195in 0.507in 0.351in !important;
        color: #fff !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    .binder-rings {
        position: absolute !important;
        top: 0.35in !important;
        bottom: 0.35in !important;
        left: 0.12in !important;
        width: 0.14in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }

    .binder-ring {
        display: block !important;
        width: 0.14in !important;
        height: 0.14in !important;
        border: 0.025in solid var(--cuhk-royal-gold) !important;
        border-radius: 999px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .output-left-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.273in !important;
        width: 100% !important;
    }

    .output-title {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;
    }

    .output-title .title-en {
        font-size: 15.1pt !important;
        line-height: 1.15 !important;
        color: #ffffff !important;
    }

    .output-title .title-zh {
        font-size: 13pt !important;
        font-weight: 600 !important;
        letter-spacing: 0.08em !important;
        margin-top: 0.039in !important;
        color: #ffffff !important;
    }

    .output-title .title-year {
        font-size: 15.1pt !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        margin-top: 0.062in !important;
    }

    .output-highlight-card {
        background: #ffffff !important;
        border-radius: 0 !important;
        padding: 0.195in 0.156in 0.312in 0.156in !important;
        width: 100% !important;
        max-width: 1.6in !important;
        position: relative !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
        text-align: center !important;
        margin-left: 0 !important;
        border: none !important;
        border-left: 4px solid var(--cuhk-royal-purple) !important;
        z-index: 10 !important;
        margin-top: 0.117in !important;
        overflow: visible !important;
    }

    .highlight-value {
        font-size: 42pt !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        color: var(--cuhk-royal-gold) !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
    }

    .output-highlight-card .highlight-label {
        margin-top: 0.062in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        color: #333132 !important;
    }

    .output-highlight-card .label-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #333132 !important;
    }

    .output-highlight-card .label-zh {
        font-size: 8.6pt !important;
        color: #333132 !important;
        letter-spacing: 0.05em !important;
    }

    .patent-seal {
        position: absolute !important;
        bottom: -0.5in !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 0.6in !important;
        height: 0.85in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        z-index: 11 !important;
    }

    .seal-svg {
        width: 100% !important;
        height: 100% !important;
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.12)) !important;
    }

    .research-output-right {
        background: #ffffff !important;
        padding: 0.218in 0.273in !important;
        display: flex !important;
        flex-direction: column !important;
        row-gap: 0.14in !important;
    }

    .output-total-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        text-align: right !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .output-total-card .total-number {
        font-size: 42pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
    }

    .output-total-card .total-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        font-size: 9.2pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-royal-purple) !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        text-align: right !important;
    }

    .output-total-card .total-label .label-en {
        font-size: 9.2pt !important;
    }

    .output-total-card .total-label .label-zh {
        font-size: 9.2pt !important;
        color: var(--cuhk-royal-purple) !important;
        letter-spacing: 0.05em !important;
        text-transform: none !important;
    }

    .output-total-card .total-label .footnote-ref {
        font-size: 6.5pt !important;
        vertical-align: super !important;
    }

    .output-breakdown {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.156in !important;
        flex: 1 !important;
        align-items: start !important;
    }

    .output-column {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.14in !important;
    }

    .output-column.with-divider {
        border-left: 1px solid #e0e0e0 !important;
        padding-left: 0.156in !important;
    }

    .output-metric {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .output-metric .metric-value {
        font-size: 20pt !important;
        font-weight: 300 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
    }

    .output-metric .metric-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .output-metric .metric-label .label-en {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #333132 !important;
        line-height: 1.25 !important;
    }

    .output-metric .metric-label .label-zh {
        font-size: 7.6pt !important;
        color: #333132 !important;
        line-height: 1.25 !important;
    }

    /* Output Footnotes */
    .output-footnotes {
        display: block !important;
        margin-top: -0.08in !important;
        padding-left: 0.039in !important;
    }

    .output-footnotes .footnote-line {
        font-size: 6.5pt !important;
        color: #6D6E71 !important;
        line-height: 1.4 !important;
        margin: 0 !important;
    }

    .output-footnotes .footnote-marker {
        font-size: 5pt !important;
        vertical-align: super !important;
        margin-right: 0.016in !important;
    }

    .research-funding-card {
        background: transparent !important;
        border-radius: 0 !important;
        border: none !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.094in !important;
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .funding-header {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        margin-bottom: 0.039in !important;
    }

    .funding-title {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .funding-title .title-en {
        font-size: 15.1pt !important;
        font-weight: 500 !important;
    }

    .funding-title .title-zh {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        letter-spacing: 0.08em !important;
    }

    .funding-title .unit-text {
        font-size: 0.7em !important;
        font-weight: 400 !important;
    }

    .funding-title .title-period {
        font-size: 15.1pt !important;
        color: var(--cuhk-royal-purple) !important;
        font-weight: 500 !important;
        margin-top: 0.023in !important;
    }

    /* New funding blocks container */
    .funding-blocks-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.094in !important;
    }

    /* Top row - other funding sources (gold color) */
    .funding-top-row {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        gap: 0.062in !important;
    }

    /* RGC/UGC row (purple color) */
    .funding-rgc-row {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        gap: 0.062in !important;
    }

    /* Decorative bar between rows - reflects actual funding percentages */
    /* Purple = RGC/UGC items, Gold = other funding sources */
    .funding-decorative-bar {
        width: 100% !important;
        height: 4px !important;
        margin: 0.062in 0 !important;
        /* Background is set dynamically via inline style based on actual percentages */
    }

    .funding-blocks-grid {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        gap: 0.062in !important;
        margin-bottom: 0.094in !important;
    }

    .funding-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.023in !important;
        padding: 0 !important;
        border-right: none !important;
    }

    .block-percentage {
        font-size: 18.4pt !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
    }

    .block-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .block-label .label-en {
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: #333132 !important;
        line-height: 1.2 !important;
    }

    .block-label .label-zh {
        font-size: 6.5pt !important;
        color: #333132 !important;
        line-height: 1.2 !important;
    }

    /* RGC Summary Bar */
    .rgc-summary-bar {
        display: flex !important;
        align-items: center !important;
        gap: 0.117in !important;
        padding: 0.062in 0 !important;
        border-top: none !important;
    }

    .rgc-summary-bar .rgc-amount {
        font-size: 18.4pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
    }

    .rgc-summary-bar .rgc-amount .currency {
        font-size: 13pt !important;
        font-weight: 600 !important;
    }

    .rgc-summary-bar .rgc-amount .percentage {
        font-size: 14pt !important;
        font-weight: 300 !important;
        margin-left: 0.039in !important;
    }

    .rgc-summary-bar .rgc-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .rgc-summary-bar .rgc-label .label-en {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
    }

    .rgc-summary-bar .rgc-label .label-zh {
        font-size: 7.6pt !important;
    }

    .funding-total-bar {
        background: #FFFFFF !important;
        padding: 0.062in 0.117in !important;
        display: inline-flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin-top: 0.062in !important;
        margin-left: auto !important;
        border-top: none !important;
        width: auto !important;
    }

    .funding-total-bar .bar-label {
        text-align: right !important;
        color: var(--cuhk-royal-purple) !important;
        padding-right: 0.117in !important;
        border-right: 1px solid var(--cuhk-royal-purple) !important;
    }

    .funding-total-bar .bar-label .label-en {
        display: block !important;
        font-size: 9.7pt !important;
        font-weight: 500 !important;
    }

    .funding-total-bar .bar-label .label-zh {
        display: block !important;
        font-size: 9.7pt !important;
        letter-spacing: 0.05em !important;
    }

    .funding-total-bar .bar-value {
        font-size: 32pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        display: flex !important;
        align-items: baseline !important;
        font-family: 'Inter', 'Bricolage Grotesque', sans-serif !important;
        padding-left: 0.117in !important;
    }

    .funding-total-bar .currency {
        font-size: 20pt !important;
        font-weight: 600 !important;
        margin-right: 0.016in !important;
    }

    .funding-total-bar .unit {
        font-size: 9.7pt !important;
        margin-left: 0.062in !important;
        color: var(--cuhk-royal-purple) !important;
        font-weight: 500 !important;
    }

    /* Funding Footnotes */
    .funding-footnotes {
        display: flex !important;
        flex-direction: row !important;
        gap: 0.156in !important;
        margin-top: 0.062in !important;
        padding: 0 !important;
    }

    .funding-footnotes .footnotes-col {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .funding-footnotes .footnote-line {
        font-size: 6.5pt !important;
        color: #6D6E71 !important;
        line-height: 1.4 !important;
        margin: 0 0 0.031in 0 !important;
    }

    .funding-footnotes .footnote-marker {
        font-size: 5.9pt !important;
        vertical-align: super !important;
        margin-right: 0.016in !important;
        color: var(--cuhk-classic-purple) !important;
    }

    /* Research print revamp: card-based layout matching the reference artwork */
    .research-print-wrapper {
        background: #ffffff !important;
        padding: 0.24in 0.17in 0.11in 0.17in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.15in !important;
        min-height: calc(297mm - 20px) !important;
        width: 100% !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.printing-section[data-active-print-section="research"] .research-print-wrapper {
        min-height: auto !important;
        max-height: calc(297mm - 20px) !important;
        overflow: hidden !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
        page-break-after: avoid !important;
        break-after: avoid !important;
    }

    .research-print-title {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.078in !important;
        color: var(--cuhk-classic-purple) !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        font-size: 20pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    .research-print-title .title-zh {
        font-size: 18pt !important;
        letter-spacing: 0.02em !important;
    }

    .research-output-section,
    .research-funding-section {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.095in !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .research-print-subtitle {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 0.062in !important;
        color: var(--cuhk-royal-gold) !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        font-size: 17.3pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        margin-bottom: 0.12in !important;
    }

    .research-output-section .research-print-subtitle {
        color: var(--cuhk-classic-purple) !important;
    }

    .research-print-subtitle .title-zh {
        font-size: 14.6pt !important;
        letter-spacing: 0.02em !important;
    }

    .research-print-subtitle .title-period,
    .research-print-subtitle .unit-text {
        font-size: 14.6pt !important;
        font-weight: 700 !important;
    }

    .research-output-grid {
        display: grid !important;
        grid-template-columns: repeat(6, 1fr) !important;
        gap: 0.085in 0.105in !important;
        width: 100% !important;
    }

    .research-output-summary-card,
    .research-output-metric-card {
        background: #ffffff !important;
        border: 1px solid rgba(118, 67, 147, 0.28) !important;
        border-radius: 5px !important;
        box-shadow: none !important;
        min-height: 0.88in !important;
        padding: 0.082in 0.078in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .research-output-summary-card {
        grid-column: span 3 !important;
        min-height: 0.96in !important;
    }

    .research-output-summary-card.is-total {
        border-color: var(--cuhk-classic-purple) !important;
    }

    .research-output-metric-card {
        grid-column: span 2 !important;
    }

    .research-output-summary-card.is-patent {
        background: #7F7553 !important;
        border-color: transparent !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .research-output-summary-card .summary-value,
    .research-output-metric-card .metric-value {
        color: var(--cuhk-royal-purple) !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .research-output-summary-card.is-total .summary-value {
        color: var(--cuhk-royal-gold) !important;
    }

    .research-output-summary-card .summary-value {
        font-size: 34pt !important;
    }

    .research-output-metric-card .metric-value {
        font-size: 28pt !important;
        margin-bottom: 0.02in !important;
    }

    .research-output-summary-card.is-patent .summary-value,
    .research-output-summary-card.is-patent .summary-label,
    .research-output-summary-card.is-patent .label-en,
    .research-output-summary-card.is-patent .label-zh {
        color: #ffffff !important;
    }

    .research-output-summary-card .summary-label,
    .research-output-metric-card .metric-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        color: #2f3133 !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        line-height: 1.2 !important;
    }

    .research-output-summary-card .label-en,
    .research-output-metric-card .label-en {
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        color: #2f3133 !important;
    }

    .research-output-summary-card .label-zh,
    .research-output-metric-card .label-zh {
        font-size: 9.2pt !important;
        font-weight: 400 !important;
        color: #6c7074 !important;
        letter-spacing: 0.01em !important;
    }

    .research-output-print-source-note {
        margin: 0.02in 0 0 !important;
        color: #6c7074 !important;
        font-family: 'Inter', Arial, sans-serif !important;
        line-height: 1.35 !important;
    }

    .research-output-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        color: #6c7074 !important;
    }

    .research-funding-section {
        flex: 1 !important;
        margin-top: 0 !important;
        gap: 0.135in !important;
    }

    .funding-summary-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.109in !important;
        width: 100% !important;
    }

    .funding-summary-card {
        min-height: 0.94in !important;
        padding: 0.09in 0.11in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        color: #ffffff !important;
        box-sizing: border-box !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
    }

    .funding-summary-card.is-total {
        background: #7F7553 !important;
    }

    .funding-summary-card.is-rgc {
        justify-content: flex-start !important;
        align-items: stretch !important;
        gap: 0.094in !important;
        text-align: left !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #FBF8FD 100%) !important;
        border: 1.5pt solid var(--cuhk-classic-purple) !important;
    }

    .funding-summary-card .summary-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.02in !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        margin-bottom: 0.062in !important;
        color: #ffffff !important;
    }

    .funding-summary-card.is-rgc .summary-label {
        margin: 0 !important;
        padding-bottom: 0.07in !important;
        border-bottom: 0.75pt solid rgba(118, 67, 147, 0.18) !important;
        color: var(--cuhk-classic-purple) !important;
        text-align: left !important;
    }

    .funding-summary-card .label-en,
    .funding-summary-card .label-zh {
        color: #ffffff !important;
    }

    .funding-summary-card.is-rgc .label-en {
        color: var(--cuhk-classic-purple) !important;
    }

    .funding-summary-card.is-rgc .label-zh {
        color: #666666 !important;
    }

    .funding-summary-card.is-rgc .summary-metrics {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr) !important;
        gap: 0.062in !important;
    }

    .funding-summary-card.is-rgc .summary-metric {
        min-height: 0.46in !important;
        padding: 0.07in 0.086in !important;
        background: rgba(118, 67, 147, 0.06) !important;
        border: 0.75pt solid rgba(118, 67, 147, 0.16) !important;
        border-radius: 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .funding-summary-card.is-rgc .summary-metric-amount {
        justify-content: flex-start !important;
    }

    .funding-summary-card.is-rgc .summary-metric-share {
        justify-content: space-between !important;
        align-items: center !important;
        gap: 0.062in !important;
    }

    .funding-summary-card .summary-value {
        color: #ffffff !important;
        font-size: 30pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 0.039in !important;
    }

    .funding-summary-card.is-rgc .summary-value {
        color: var(--cuhk-classic-purple) !important;
        font-size: 24pt !important;
        justify-content: flex-start !important;
    }

    .funding-summary-card .currency {
        font-size: 18pt !important;
        font-weight: 700 !important;
    }

    .funding-summary-card.is-rgc .currency {
        color: var(--cuhk-classic-purple) !important;
        font-size: 14pt !important;
    }

    .funding-summary-card .percentage {
        font-size: 16.2pt !important;
        font-weight: 700 !important;
    }

    .funding-summary-card.is-rgc .percentage {
        color: var(--cuhk-classic-purple) !important;
        font-size: 18pt !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .funding-summary-card .percentage-group {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.004in !important;
        margin-left: 0.015in !important;
    }

    .funding-summary-card .summary-share-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.005in !important;
        margin-top: 0 !important;
        color: #ffffff !important;
        font-size: 6.6pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .funding-summary-card.is-rgc .summary-share-label {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 0.92in !important;
        color: #666666 !important;
        font-size: 6.3pt !important;
        font-weight: 500 !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .funding-summary-card .summary-share-label .label-en,
    .funding-summary-card .summary-share-label .label-zh {
        color: #ffffff !important;
    }

    .funding-summary-card.is-rgc .summary-share-label .label-en,
    .funding-summary-card.is-rgc .summary-share-label .label-zh {
        color: #666666 !important;
    }

    .funding-sources-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        column-gap: 0.095in !important;
        row-gap: 0.075in !important;
        margin-top: 0.06in !important;
        width: 100% !important;
    }

    .funding-source-item {
        display: grid !important;
        grid-template-columns: minmax(0.72in, 0.72in) minmax(0, 1fr) !important;
        column-gap: 0.075in !important;
        align-items: start !important;
        min-height: 0.4in !important;
        padding: 0.052in 0.065in !important;
        background: rgba(118, 67, 147, 0.045) !important;
        border: 0.75pt solid rgba(118, 67, 147, 0.14) !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .funding-source-percentage {
        color: #7F7553 !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        font-size: 12.8pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        min-height: 0.18in !important;
        padding-top: 0.006in !important;
        text-align: right !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }

    .funding-source-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
        color: #2f3133 !important;
        font-family: 'Inter', 'Bricolage Grotesque', Arial, sans-serif !important;
        line-height: 1.2 !important;
        padding-top: 0 !important;
        min-width: 0 !important;
    }

    .funding-source-label .label-en,
    .funding-source-label .label-zh {
        color: #2f3133 !important;
        font-size: 6.8pt !important;
        font-weight: 700 !important;
        overflow-wrap: anywhere !important;
    }

    .funding-source-label .label-zh {
        color: #6c7074 !important;
        font-weight: 500 !important;
    }

    .funding-print-source-note {
        display: block !important;
        margin: 0.04in 0 0 !important;
        color: #6c7074 !important;
        font-family: 'Inter', Arial, sans-serif !important;
        line-height: 1.25 !important;
    }

    .funding-print-source-note p {
        display: block !important;
        margin: 0 !important;
        color: #6c7074 !important;
        font-size: 7pt !important;
    }

    .funding-footnotes {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.12in !important;
        margin-top: 0.04in !important;
        padding-top: 0 !important;
    }

    .funding-footnotes .footnote-line {
        color: #53565A !important;
        font-family: 'Inter', Arial, sans-serif !important;
        font-size: 5.5pt !important;
        line-height: 1.15 !important;
        margin: 0 0 0.01in 0 !important;
    }

    .funding-footnotes .footnote-marker {
        color: var(--cuhk-classic-purple) !important;
        font-size: 5.2pt !important;
        vertical-align: super !important;
    }

    .research-achievements-card {
        background: transparent !important;
        border-radius: 0 !important;
        border: none !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        margin-top: 0.156in !important;
    }

    .achievements-header-row {
        display: grid !important;
        grid-template-columns: 1.6in 1fr !important;
        gap: 0 !important;
        min-height: 2.8in !important;
    }

    .achievements-sidebar {
        position: relative !important;
        background: linear-gradient(180deg, var(--cuhk-royal-purple) 0%, var(--cuhk-royal-purple) 100%) !important;
        padding: 0.195in 0.156in !important;
        color: #fff !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        overflow: hidden !important;
    }

    .achievements-decorative-curves {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 0.6in !important;
        height: 100% !important;
        opacity: 0.5 !important;
    }

    .achievements-decorative-curves .curve-svg {
        width: 100% !important;
        height: 100% !important;
    }

    .achievements-title-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        position: relative !important;
        z-index: 1 !important;
    }

    .achievements-title-block .header-en {
        font-size: 13pt !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        line-height: 1.2 !important;
    }

    .achievements-title-block .header-en-sub {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        line-height: 1.2 !important;
        margin-bottom: 0.039in !important;
    }

    .achievements-title-block .header-zh {
        font-size: 9.7pt !important;
        font-weight: 500 !important;
        color: rgba(255, 255, 255, 0.9) !important;
        letter-spacing: 0.05em !important;
    }

    .achievements-year-badge {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: var(--cuhk-royal-gold) !important;
        width: 0.7in !important;
        height: 0.7in !important;
        border-radius: 50% !important;
        position: relative !important;
        z-index: 1 !important;
        align-self: center !important;
    }

    .achievements-year-badge .badge-year {
        font-size: 24pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
    }

    .achievements-year-badge .badge-label {
        font-size: 6.5pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        letter-spacing: 0.1em !important;
    }

    .achievements-content-area {
        background: #ffffff !important;
        padding: 0.156in !important;
    }

    .achievements-five-year-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.117in !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .five-year-achievement-card {
        position: relative !important;
        background: #F8F1E8 !important;
        border-radius: 0.08in !important;
        padding: 0.094in 0.094in 0.094in 0.429in !important;
        border: none !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
        color: #333132 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        min-height: 0.8in !important;
        overflow: hidden !important;
    }

    .five-year-achievement-card .achievement-card-icon {
        position: absolute !important;
        left: 0.1in !important;
        top: 0.12in !important;
        width: 0.35in !important;
        height: 0.35in !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #ffffff !important;
    }

    .five-year-achievement-card .achievement-card-icon svg {
        width: 0.18in !important;
        height: 0.18in !important;
        fill: #ffffff !important;
    }

    .five-year-achievement-card .achievement-card-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.047in !important;
    }

    .five-year-achievement-card .achievement-card-accent {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 3px !important;
    }

    .five-year-achievement-card .achievement-card-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
        border-left: none !important;
        padding-left: 0 !important;
    }

    .five-year-achievement-card .card-header {
        display: none !important;
    }

    .five-year-achievement-card .card-icon {
        display: none !important;
    }

    .five-year-achievement-card .icon-circle {
        display: none !important;
    }

    .five-year-achievement-card .card-title-group {
        display: none !important;
    }

    .five-year-achievement-card .card-title {
        font-size: 8.6pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.25 !important;
    }

    .five-year-achievement-card .card-period {
        font-size: 6.5pt !important;
        font-weight: 500 !important;
        color: #6D6E71 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    .five-year-achievement-card .card-points {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .five-year-achievement-card .achievement-point {
        display: grid !important;
        grid-template-columns: 0.18in 1fr !important;
        column-gap: 0.031in !important;
        font-size: 7pt !important;
        line-height: 1.3 !important;
        color: #333132 !important;
        align-items: flex-start !important;
    }

    .five-year-achievement-card .achievement-point .point-number {
        font-size: 7.6pt !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .five-year-achievement-card .achievement-point .point-marker {
        display: none !important;
    }

    .five-year-achievement-card .achievement-point .point-text {
        font-size: 7pt !important;
        line-height: 1.3 !important;
    }

    /* Hide old elements */
    .achievements-title-inner,
    .achievements-rings {
        display: none !important;
    }

    .output-highlight-card {
        background: #ffffff !important;
        border-radius: 0 !important;
        padding: 0.312in 0.234in !important;
        width: 2.4in !important;
        position: relative !important;
        box-shadow: 0 0.15in 0.3in rgba(33, 20, 54, 0.15) !important;
        text-align: center !important;
        margin-left: 0.234in !important;
        border: 1px solid #e0e0e0 !important;
        z-index: 10 !important;
        margin-top: 0.156in !important;
        margin-bottom: -0.8in !important;
        /* Overlap the bottom edge */
    }

    .output-highlight-card .card-header {
        display: grid !important;
        row-gap: 0.031in !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .output-highlight-card .header-en {
        font-size: 15.1pt !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
    }

    .output-highlight-card .header-zh {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        letter-spacing: 0.02em !important;
    }

    .output-highlight-card .card-content {
        display: grid !important;
        row-gap: 0.14in !important;
    }

    .output-highlight-card .highlight-item {
        display: grid !important;
        grid-template-columns: 0.14in 1fr !important;
        column-gap: 0.062in !important;
        font-size: 9.9pt !important;
        line-height: 1.45 !important;
        color: var(--cuhk-royal-purple) !important;
        align-items: flex-start !important;
    }

    .output-highlight-card .highlight-item .item-marker {
        width: 0.08in !important;
        height: 0.08in !important;
        border-radius: 999px !important;
        background: var(--highlight-accent, var(--cuhk-royal-purple)) !important;
        box-shadow: 0 0 0 0.03in rgba(118, 67, 147, 0.16) !important;
        margin-top: 0.031in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .research-print-footnotes {
        display: none !important;
    }

    /* Students Print Layout - Single Page Design */
    .students-section .section-header,
    .students-section .section-title,
    .students-section .student-stats,
    .students-section .student-population-note,
    .students-section .jupas-section,
    .students-section .career-section {
        display: none !important;
    }

    .students-section {
        padding: 0 !important;
        margin: 0 !important;
        background: #F8F5FA !important;
    }

    .students-section .container {
        padding: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        background: #F8F5FA !important;
    }

    .students-section .students-print {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-before: auto !important;
        page-break-after: auto !important;
    }

    .students-print-wrapper {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.094in !important;
        background: #F8F5FA !important;
        padding: 0.312in 0.585in !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        min-height: calc(297mm - 20px) !important;
    }

    /* Student Population Block */
    .students-population-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
    }

    .section-title-bar {
        display: flex !important;
        align-items: flex-start !important;
    }

    .title-bar-accent {
        display: none !important;
    }

    .title-bar-text {
        display: flex !important;
        flex-direction: column !important;
    }

    .title-bar-text .title-en {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        letter-spacing: 0.02em !important;
        line-height: 1.2 !important;
    }

    .title-bar-text .title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        letter-spacing: 0.01em !important;
        line-height: 1.2 !important;
        margin-top: 0.031in !important;
    }

    .footnote-marker {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        vertical-align: super !important;
    }

    /* Student Population - Compact Single Row Layout */
    .population-row {
        display: flex !important;
        gap: 0.312in !important;
        align-items: flex-start !important;
    }

    .population-group {
        display: flex !important;
        align-items: center !important;
        gap: 0.117in !important;
    }

    .population-group .group-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
        min-width: 0.7in !important;
    }

    .population-group .group-header .header-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #555555 !important;
    }

    .population-group .group-header .header-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .population-group .group-total {
        font-size: 26pt !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        color: var(--cuhk-royal-purple) !important;
        letter-spacing: -0.02em !important;
        min-width: 0.8in !important;
    }

    .postgraduate-group .group-total {
        color: var(--cuhk-royal-gold) !important;
    }

    .population-group .group-details {
        display: flex !important;
        gap: 0.156in !important;
    }

    .population-group .detail-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .population-group .detail-label {
        font-size: 7pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .population-group .detail-value {
        font-size: 13pt !important;
        font-weight: 400 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .postgraduate-group .detail-value {
        color: var(--cuhk-royal-gold) !important;
    }

    .population-footnote {
        font-size: 6.5pt !important;
        line-height: 1.3 !important;
        color: #555555 !important;
        margin-top: 0.031in !important;
    }

    .population-footnote p {
        margin: 0 0 0.01in 0 !important;
    }

    /* JUPAS Block */
    .students-jupas-block {
        display: grid !important;
        grid-template-columns: 1.2fr 0.8fr !important;
        gap: 0.117in !important;
        padding: 0.078in 0 !important;
        border-top: 1px solid rgba(123, 75, 140, 0.15) !important;
    }

    .jupas-left {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
    }

    .jupas-header {
        display: flex !important;
        align-items: flex-start !important;
        gap: 0.078in !important;
    }

    .jupas-title-bar {
        width: 0.04in !important;
        min-height: 0.4in !important;
        background: linear-gradient(180deg, var(--cuhk-royal-purple) 0%, var(--cuhk-royal-purple) 100%) !important;
        border-radius: 0.02in !important;
        flex-shrink: 0 !important;
    }

    .jupas-title-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .jupas-title-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .jupas-title-zh {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .jupas-year {
        font-size: 15.1pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-purple) !important;
        margin-top: 0.016in !important;
    }

    .jupas-stats {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
    }

    .jupas-stat {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .jupas-stat .stat-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .jupas-stat .stat-label .label-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #555555 !important;
    }

    .jupas-stat .stat-label .label-sub-en {
        font-size: 7pt !important;
        font-weight: 400 !important;
        color: #777777 !important;
        font-style: normal !important;
    }

    .jupas-stat .stat-label .label-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .jupas-stat .stat-label .label-sub-zh {
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: #777777 !important;
    }

    .jupas-stat .stat-value {
        font-size: 22pt !important;
        font-weight: 300 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
    }

    .stat-value-row {
        display: flex !important;
        align-items: center !important;
        gap: 0.094in !important;
    }

    .stat-badge {
        display: inline-flex !important;
        align-items: center !important;
        padding: 0.031in 0.078in !important;
        background: linear-gradient(135deg, var(--cuhk-dynamic-gold) 0%, var(--cuhk-dynamic-gold) 100%) !important;
        border-radius: 0.04in !important;
        font-size: 7.6pt !important;
        font-weight: 600 !important;
        color: #5a3200 !important;
    }

    .jupas-right {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
    }

    .jupas-admitted-card {
        background: rgba(255, 255, 255, 0.6) !important;
        border-radius: 0.08in !important;
        padding: 0.078in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .admitted-value {
        font-size: 24pt !important;
        font-weight: 300 !important;
        color: var(--cuhk-royal-gold) !important;
        line-height: 1 !important;
    }

    .admitted-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .admitted-label .label-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #555555 !important;
    }

    .admitted-label .label-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .jupas-footnote {
        font-size: 6.5pt !important;
        line-height: 1.35 !important;
        color: #666666 !important;
    }

    .jupas-footnote p {
        margin: 0 0 0.016in 0 !important;
    }

    /* Hide web container in Programmes & Exchange to prevent duplication */
    #programmes-exchange .container {
        display: none !important;
    }

    #programmes-exchange .programmes-exchange-print {
        display: block !important;
    }

    /* Remove grey background for print and use page base color */
    .programmes-exchange-section {
        background: var(--cuhk-haze) !important;
        padding: 0 !important;
    }

    /* Career Block */
    .students-career-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
        padding-top: 0.039in !important;
        border-top: 1px solid rgba(118, 67, 147, 0.15) !important;
        margin-top: 0 !important;
        width: 100% !important;
    }

    .career-header {
        display: flex !important;
        align-items: flex-start !important;
        gap: 0.047in !important;
    }

    .career-title-bar {
        width: 0.04in !important;
        min-height: 0.25in !important;
        background: linear-gradient(180deg, var(--cuhk-classic-purple) 0%, var(--cuhk-classic-purple) 100%) !important;
        border-radius: 0.02in !important;
        flex-shrink: 0 !important;
    }

    .career-title-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .career-title-en {
        font-size: 10.3pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .career-title-zh {
        font-size: 8.1pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .career-year {
        font-size: 13pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
        margin-top: 0 !important;
    }

    .students-print .population-group .group-total,
    .students-print .population-group .detail-value,
    .students-print .jupas-title-en,
    .students-print .jupas-title-zh,
    .students-print .jupas-year,
    .students-print .career-title-en,
    .students-print .career-title-zh,
    .students-print .career-year {
        color: var(--cuhk-classic-purple) !important;
    }

    .students-print .jupas-title-bar,
    .students-print .career-title-bar {
        background: linear-gradient(180deg, var(--cuhk-classic-purple) 0%, var(--cuhk-classic-purple) 100%) !important;
        background-color: var(--cuhk-classic-purple) !important;
    }

    .career-content {
        display: grid !important;
        grid-template-columns: 1fr 1.5fr !important;
        gap: 0.117in !important;
        align-items: center !important;
        width: 100% !important;
    }

    .career-legend {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .legend-row {
        display: grid !important;
        grid-template-columns: 0.12in 1fr !important;
        column-gap: 0.062in !important;
        row-gap: 0.01in !important;
        align-items: start !important;
    }

    .legend-color {
        width: 0.1in !important;
        height: 0.1in !important;
        border-radius: 0.02in !important;
        margin-top: 0.01in !important;
    }

    .legend-label-en {
        grid-column: 2 !important;
        font-size: 7.6pt !important;
        font-weight: 500 !important;
        color: #444444 !important;
    }

    .legend-label-zh {
        grid-column: 2 !important;
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .career-chart {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .career-donut {
        width: 3.8in !important;
        height: 3.8in !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .career-donut svg {
        width: 100% !important;
        height: 100% !important;
    }

    .career-donut .donut-label-text {
        font-family: inherit !important;
    }

    .career-footnote {
        font-size: 6.5pt !important;
        line-height: 1.35 !important;
        color: #666666 !important;
        margin-top: 0.031in !important;
    }

    .career-footnote p {
        margin: 0 0 0.016in 0 !important;
    }

    /* Hide old elements */
    .students-hero,
    .students-hero-surface,
    .hero-title-block,
    .hero-title-bar,
    .hero-title-text,
    .hero-title-en,
    .hero-title-zh,
    .population-card-grid,
    .population-card,
    .population-heading,
    .population-total,
    .population-subrow,
    .population-sub-item,
    .population-footnotes,
    .jupas-print-section,
    .jupas-left-column,
    .jupas-right-column,
    .jupas-banner,
    .jupas-stats-grid,
    .jupas-stat-card,
    .jupas-notes,
    .jupas-admission-card,
    .career-print-section,
    .career-title-group,
    .career-body,
    .career-legend-list,
    .career-legend-item,
    .career-chart-wrap,
    .career-notes {
        /* These are from the old structure - keep for backwards compatibility */
        display: none !important;
    }

    /* Global Alumni Network Print Layout */
    .global-section .global-stats,
    .global-section .career-section,
    .global-section .exchange-section,
    .global-section .global-map,
    .global-section .map-legend {
        display: none !important;
    }

    .global-section > .container > .student-as-of {
        display: none !important;
    }

    .global-section {
        padding: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
    }

    .global-section .section-header {
        padding-left: 20px !important;
        padding-top: 10px !important;
    }

    .global-section .container {
        padding: 0 !important;
        margin: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    .global-section .global-print {
        display: block !important;
        margin: 0 !important;
        page-break-before: auto !important;
    }

    .global-print-wrapper {
        display: flex !important;
        width: 100% !important;
        padding: 35px 50px 35px 50px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    /* Title Section */
    .global-title-section {
        display: flex !important;
        align-items: center !important;
        gap: 0.078in !important;
        background: var(--cuhk-royal-purple) !important;
        padding: 0.078in 0.117in !important;
        border-radius: 0 !important;
        margin: -35px -50px 0 -50px !important;
        width: calc(100% + 100px) !important;
    }

    .global-title-bar {
        display: none !important;
    }

    .global-title-content {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.117in !important;
    }

    .global-title-en {
        font-size: 11.9pt !important;
        font-weight: 600 !important;
        color: #ffffff !important;
    }

    .global-title-zh {
        font-size: 9.7pt !important;
        font-weight: 400 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }

    /* Stats Row */
    .global-stats-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.117in !important;
        padding: 0.195in 0 0.062in 0 !important;
        border-bottom: 1px solid #e0d0e8 !important;
        width: 100% !important;
    }

    .global-stat-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .global-stat-item .stat-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .global-stat-item .stat-label-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #555555 !important;
    }

    .global-stat-item .stat-label-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .global-stat-item .stat-value {
        font-size: 26pt !important;
        font-weight: 300 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.1 !important;
    }

    .global-stat-item .stat-as-of {
        display: none !important;
    }

    /* Global Map Page — flows on same page as stats */
    .global-map-page {
        display: flex !important;
        width: 100% !important;
        padding: 0 50px 20px 50px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        box-sizing: border-box !important;
        break-before: auto !important;
        page-break-before: auto !important;
    }

    /* Global Map Section */
    .global-map-section {
        width: 100% !important;
        color: var(--cuhk-royal-purple) !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .global-map-img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    /* Cities Section */
    .global-cities-section {
        width: 100% !important;
    }

    .cities-section-title {
        font-size: 8.6pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        margin-bottom: 0.062in !important;
        padding-bottom: 0.031in !important;
        border-bottom: 0.5pt solid #e0d0e8 !important;
    }

    .cities-section-title-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        margin-left: 4px !important;
    }

    .cities-list {
        display: grid !important;
        grid-template-rows: repeat(6, auto) !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(1.05in, 1fr) !important;
        gap: 0 0.078in !important;
    }

    .city-item {
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
        align-items: flex-start !important;
        gap: 0 !important;
        padding: 0.031in 0 !important;
    }

    .city-name-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 2px !important;
    }

    .city-bullet {
        display: inline !important;
        font-size: 7.6pt !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .city-name {
        font-size: 7.6pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-royal-purple) !important;
        white-space: nowrap !important;
    }

    .city-chinese {
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: var(--cuhk-royal-purple) !important;
        white-space: nowrap !important;
    }

    /* Footnotes */
    .global-footnotes {
        font-size: 6.5pt !important;
        line-height: 1.3 !important;
        color: #555555 !important;
        padding-top: 0.039in !important;
        border-top: 1px solid #e0d0e8 !important;
    }

    .global-footnotes p {
        margin: 0 0 0.01in 0 !important;
    }

    /* Student Exchange Section */
    .global-exchange-section {
        background: #ffffff !important;
        padding: 0.094in 0.156in !important;
        margin: 0 -0.25in -0.2in -0.25in !important;
        width: calc(100% + 0.5in) !important;
        border-top: 1px solid #e0d0e8 !important;
    }

    .exchange-header {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.078in !important;
        margin-bottom: 0.062in !important;
        padding-bottom: 0.047in !important;
        border-bottom: 1px solid rgba(123, 75, 140, 0.12) !important;
    }

    .exchange-header .exchange-title-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .exchange-header .exchange-title-zh {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-royal-purple) !important;
    }

    .exchange-stats-row {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.195in !important;
    }

    .exchange-stat-item {
        display: flex !important;
        align-items: center !important;
        gap: 0.078in !important;
    }

    .exchange-stat-item .exchange-value {
        font-size: 28pt !important;
        font-weight: 300 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
    }

    .exchange-stat-item .exchange-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .exchange-stat-item .label-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #555555 !important;
    }

    .exchange-stat-item .label-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
    }

    .exchange-connector {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
        color: #666666 !important;
    }

    .exchange-connector .connector-en {
        font-size: 8.6pt !important;
        font-weight: 400 !important;
    }

    .exchange-connector .connector-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
    }

    .exchange-footnotes {
        font-size: 6.5pt !important;
        line-height: 1.3 !important;
        color: #555555 !important;
        margin-top: 0.062in !important;
    }

    .exchange-footnotes p {
        margin: 0 0 0.01in 0 !important;
    }

    .exchange-print-source-note {
        margin-top: 0.08in !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    .exchange-print-source-note p {
        margin: 0 0 0.016in 0 !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    /* Maps - make them print-friendly */
    #alumni-map {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        max-width: 100% !important;
        height: 300px !important;
        border: 1px solid #ddd !important;
    }

    .alumni-map-container {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Greater Bay Area timeline - enhanced print layout inspired by Figma design */
    .gba-section {
        background: #ffffff !important;
        background-color: #ffffff !important;
        min-height: calc(297mm - 20px) !important;
        box-sizing: border-box !important;
        page: section-research;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        padding: 0.265in 0.156in 0.203in !important;
    }

    .gba-section::before {
        display: none !important;
    }

    body.printing-section[data-active-print-section="greater-bay-area"] .section.print-active.gba-section {
        background: #ffffff !important;
        background-color: #ffffff !important;
        min-height: calc(297mm - 20px) !important;
        box-sizing: border-box !important;
    }

    body.printing-section .section.gba-section,
    body.printing-all-sections .section.gba-section {
        padding: 0.265in 0.156in 0.203in !important;
    }

    .gba-section .reference-print-heading {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.04in !important;
    }

    .gba-section > .container {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    body.printing-all-sections .section[data-print-section="gba"] {
        page-break-after: always !important;
        break-after: page !important;
    }

    .gba-timeline {
        display: none !important;
    }

    .gba-section > .container > .gba-source-note {
        display: none !important;
    }

    .gba-timeline-print {
        display: block !important;
        position: relative !important;
        margin: 0 0 0.281in 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
        counter-reset: timeline-counter !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-timeline-print::before {
        display: none !important;
    }

    .gba-print-source-note {
        display: block !important;
        margin: 0.12in 0 0 1.25in !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .gba-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    .gba-print-item-wrapper {
        position: relative !important;
        padding-top: 0.14in !important;
        margin-bottom: 0 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        width: 100% !important;
    }

    .gba-print-item-wrapper:first-child::before {
        content: '' !important;
        position: absolute !important;
        left: calc(1.25in - 46px) !important;
        top: 0 !important;
        height: calc(0.18in + 30px) !important;
        width: 5px !important;
        background: var(--cuhk-dynamic-purple) !important;
        z-index: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-print-item {
        position: relative !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border: 1px solid rgba(118, 67, 147, 0.18) !important;
        border-radius: 0.1in !important;
        padding: 0.203in 0.25in !important;
        margin: 0 0.3in 0.062in 1.25in !important;
        /* Spacing below item only */
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.14in !important;
        counter-increment: timeline-counter !important;
        width: auto !important;
        text-align: left !important;
        box-shadow: 0 8px 22px rgba(118, 67, 147, 0.12) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-print-item::before {
        content: none !important;
    }

    /* Vertical line segment for each item */
    .gba-print-item::after {
        content: '' !important;
        position: absolute !important;
        left: -46px !important;
        /* Center axis aligned with enlarged connector dot */
        top: 31px !important;
        /* Start line slightly underneath the dot */
        height: calc(100% + 0.26in) !important;
        /* Reaches exactly next item across the wrapper padding and bottom margin */
        width: 5px !important;
        background: var(--cuhk-dynamic-purple) !important;
        opacity: 1 !important;
        z-index: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-print-item-wrapper.is-last .gba-print-item::after {
        display: none !important;
    }

    .gba-print-item.side-left,
    .gba-print-item.side-right {
        /* Override grid properties to flow naturally in flex */
        grid-column: auto !important;
        justify-self: auto !important;
        max-width: none !important;
        text-align: left !important;
        align-items: flex-start !important;
        padding-left: 0.25in !important;
        padding-right: 0.25in !important;
    }

    /* Connector dot positioned on the left line */
    .gba-connector-dot {
        position: absolute !important;
        box-sizing: border-box !important;
        left: -52px !important;
        /* 5px line at -46px is centered within the enlarged dot. */
        top: 25px !important;
        /* Match vertical alignment with year box centers */
        width: 18px !important;
        height: 18px !important;
        background: var(--cuhk-dynamic-purple) !important;
        border: 4px solid white !important;
        border-radius: 50% !important;
        box-shadow: 0 0 0 3px rgba(118, 67, 147, 0.3) !important;
        z-index: 2 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-connector-dot::after {
        display: none !important;
    }

    .gba-connector-dot::before {
        display: none !important;
    }

    .gba-print-item.side-right .gba-connector-dot {
        left: -52px !important;
    }

    .gba-print-item.side-left .gba-connector-dot {
        right: auto !important;
        left: -52px !important;
    }

    .gba-print-year {
        display: inline-flex !important;
        padding: 5px 14px !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        background: var(--cuhk-dynamic-purple) !important;
        color: #ffffff !important;
        font-weight: 700 !important;
        font-size: 10.3pt !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
        border-radius: 24px !important;
        margin-bottom: 0.078in !important;
        font-family: 'Bricolage Grotesque', 'Noto Sans', sans-serif !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-print-item.side-left .gba-print-year,
    .gba-print-item.side-right .gba-print-year {
        text-align: left !important;
    }

    .gba-print-card {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.039in !important;
        background: transparent !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        max-width: 100% !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-print-item.side-left .gba-print-card,
    .gba-print-item.side-right .gba-print-card {
        text-align: left !important;
        align-items: flex-start !important;
    }

    .gba-print-card .title-en {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.4 !important;
        font-family: 'Bricolage Grotesque', 'Noto Sans', sans-serif !important;
    }

    .gba-print-card .title-zh {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.4 !important;
        letter-spacing: 0.03em !important;
        font-family: 'Noto Sans', 'Droid Sans', sans-serif !important;
    }

    .gba-print-item.highlight {
        grid-column: auto !important;
        justify-self: auto !important;
        border: 3px solid var(--cuhk-royal-purple) !important;
        border-radius: 0.1in !important;
        max-width: none !important;
        text-align: left !important;
        align-items: flex-start !important;
        margin-bottom: 0.094in !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .gba-print-item.highlight .gba-connector-dot {
        display: block !important;
        background: var(--cuhk-royal-purple) !important;
        right: auto !important;
        left: -52px !important;
        top: 25px !important;
    }

    .gba-print-item.highlight .gba-connector-dot::before {
        display: none !important;
    }

    .gba-print-item.highlight .gba-print-year {
        font-size: 10.3pt !important;
        text-align: left !important;
    }

    .highlight-card {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
        margin-top: 0 !important;
        width: 100% !important;
        text-align: left !important;
    }

    .highlight-entry {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.023in !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-bottom: none !important;
        text-align: left !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .highlight-entry:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }

    .highlight-entry .title-en {
        color: var(--cuhk-royal-purple) !important;
        font-weight: 500 !important;
        font-size: 11.9pt !important;
        letter-spacing: 0 !important;
        line-height: 1.4 !important;
        font-family: 'Bricolage Grotesque', 'Noto Sans', sans-serif !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .highlight-entry .title-zh {
        color: var(--cuhk-royal-purple) !important;
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        letter-spacing: 0.03em !important;
        opacity: 1 !important;
        font-family: 'Noto Sans', 'Droid Sans', sans-serif !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-decor {
        position: relative !important;
        width: 100% !important;
        max-width: 1.45in !important;
        height: auto !important;
        break-inside: avoid !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-decor svg {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    .gba-decor-top {
        justify-self: start !important;
        align-self: start !important;
        margin-top: 0.078in !important;
    }

    .gba-decor-bottom {
        justify-self: end !important;
        align-self: end !important;
        margin-bottom: 0.078in !important;
    }

    .gba-print-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
        margin-bottom: 0.15in !important;
        padding: 0 !important;
        text-align: left !important;
        background: none !important;
    }

    .gba-header-title-en {
        font-size: 19pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
        letter-spacing: normal !important;
        line-height: 1.1 !important;
        font-family: 'Inter', Arial, sans-serif !important;
    }

    .gba-header-title-zh {
        font-size: 16pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
        letter-spacing: normal !important;
        line-height: 1.1 !important;
    }
        font-family: 'Noto Sans', 'Cairo', sans-serif !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-decor {
        width: 1.45in !important;
        height: auto !important;
        opacity: 0.75 !important;
        pointer-events: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gba-decor svg {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    .gba-decor-container {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        gap: 0.39in !important;
        margin-top: 0.234in !important;
        width: 100% !important;
    }

    .gba-decor-top,
    .gba-decor-bottom {
        width: 1.2in !important;
        height: auto !important;
        justify-self: auto !important;
        align-self: auto !important;
        margin: 0 !important;
    }

    .gba-year {
        display: none !important;
    }

    /* Labs Print Layout - matching reference design */
    .labs-print {
        margin: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        background: var(--cuhk-royal-purple, #764393) !important;
        background-color: var(--cuhk-royal-purple, #764393) !important;
        background-image: none !important;
        box-shadow: none !important;
        opacity: 1 !important;
        color: #ffffff !important;
        width: 100% !important;
        height: 100% !important;
        max-height: calc(297mm - 20px) !important;
        position: relative;
        page-break-after: avoid !important;
        break-after: avoid !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .labs-print-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr auto !important;
        gap: 0pt !important;
        padding: 0pt !important;
        margin: 0pt !important;
        width: 100% !important;
        height: calc(297mm - 20px) !important;
        box-sizing: border-box !important;
        position: relative;
        align-items: center !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
    }


    .labs-print-illustration {
        position: absolute !important;
        top: 50pt !important;
        right: 20pt !important;
        width: 165pt !important;
        height: auto !important;
        z-index: 0 !important;
        opacity: 1 !important;
        background: transparent !important;
        mix-blend-mode: normal !important;
        isolation: isolate !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
    }

    .labs-print-sections {
        display: flex !important;
        flex-direction: column !important;
        gap: 20pt !important;
        padding: 30pt !important;
        padding-left: 60pt !important;
        padding-right: 30pt !important;
        align-self: center !important;
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 1 !important;
    }

    .labs-print-section {
        color: #ffffff !important;
        opacity: 1 !important;
        background: transparent !important;
        background-color: transparent !important;
        mix-blend-mode: normal !important;
        box-shadow: none !important;
    }

    .labs-print-section .section-header,
    .labs-print-section .section-number,
    .labs-print-section .section-title,
    .labs-print-section .title-en,
    .labs-print-section .title-zh {
        opacity: 1 !important;
        background: transparent !important;
        background-color: transparent !important;
        mix-blend-mode: normal !important;
        box-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .labs-print-section .section-header {
        display: flex !important;
        align-items: flex-start !important;
        gap: 15pt !important;
        margin-bottom: 18pt !important;
    }

    .labs-print-section .section-number {
        font-size: 72pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-dynamic-gold) !important;
        line-height: 0.8 !important;
        margin-top: -8pt !important;
    }

    .labs-print-section .section-title {
        display: flex !important;
        flex-direction: column !important;
        gap: 2pt !important;
        margin-top: 8pt !important;
    }

    .labs-print-section .title-en {
        font-size: 17.3pt !important;
        font-weight: 600 !important;
        color: white !important;
        line-height: 1.1 !important;
    }

    .labs-print-section .title-zh {
        font-size: 13pt !important;
        font-weight: 400 !important;
        color: #e8d9ef !important;
        line-height: 1.2 !important;
        opacity: 1 !important;
    }

    .labs-grid {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-radius: 8pt !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0 !important;
        color: #333 !important;
        width: 100% !important;
        max-width: none !important;
        overflow: hidden !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .innohk-section .labs-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .innohk-print-category-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10pt !important;
        width: 100% !important;
    }

    .innohk-print-category {
        background: #ffffff !important;
        border: 1pt solid var(--cuhk-royal-gold) !important;
        border-radius: 8pt !important;
        overflow: hidden !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .innohk-category-heading {
        background: var(--cuhk-champagne-gold) !important;
        border-bottom: 1pt solid var(--cuhk-royal-gold) !important;
        padding: 7pt 10pt !important;
    }

    .innohk-category-title-en {
        color: var(--cuhk-royal-purple) !important;
        font-size: 10pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .innohk-category-title-zh {
        color: var(--cuhk-light-royal-gold) !important;
        font-size: 8pt !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        margin-top: 2pt !important;
    }

    .innohk-print-category .labs-grid {
        border-radius: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .innohk-print-category .lab-item {
        border-right: none !important;
        border-bottom: 1px solid #e5e5e5 !important;
        min-height: 0 !important;
        padding: 9pt 12pt 9pt 18pt !important;
    }

    .innohk-print-category .lab-item:last-child {
        border-bottom: none !important;
    }

    .innohk-print-category .lab-title-en::before {
        content: "•";
        color: var(--cuhk-royal-gold) !important;
        margin-left: -9pt !important;
        margin-right: 4pt !important;
    }

    .lab-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8pt !important;
        text-align: left !important;
        padding: 18pt 20pt !important;
        border-right: 1px solid #e5e5e5 !important;
        border-bottom: 1px solid #e5e5e5 !important;
        min-height: 60pt !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
        background: transparent !important;
        background-color: transparent !important;
        mix-blend-mode: normal !important;
        opacity: 1 !important;
    }

    /* Remove right border from last column items */
    .lab-item:nth-child(3n) {
        border-right: none !important;
    }

    /* Remove bottom border from last row items for State Labs (7 items: 3 rows of 3,3,1) */
    .state-labs-section .lab-item:nth-child(n+7) {
        border-bottom: none !important;
    }

    /* Remove bottom border from last row items for InnoHK (7 items: 3 rows of 3,3,1) */
    .innohk-section .lab-item:nth-child(n+7) {
        border-bottom: none !important;
    }

    .lab-number {
        font-size: 11.9pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-gold) !important;
        flex-shrink: 0 !important;
        min-width: 18pt !important;
        /* Remove any circular background styling */
        background: transparent !important;
        background-color: transparent !important;
        border-radius: 0 !important;
        width: auto !important;
        height: auto !important;
        opacity: 1 !important;
        mix-blend-mode: normal !important;
        box-shadow: none !important;
    }

    .lab-content,
    .lab-title-en,
    .lab-title-zh {
        background: transparent !important;
        background-color: transparent !important;
        opacity: 1 !important;
        mix-blend-mode: normal !important;
        box-shadow: none !important;
    }

    .lab-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 2pt !important;
        flex: 1 !important;
    }

    .lab-title-en {
        font-size: 8.6pt !important;
        font-weight: 500 !important;
        color: #333 !important;
        line-height: 1.25 !important;
    }

    .lab-title-zh {
        font-size: 7.6pt !important;
        font-weight: 400 !important;
        color: #666 !important;
        line-height: 1.3 !important;
    }

    .labs-print-illustration svg {
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        background: transparent !important;
        mix-blend-mode: normal !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
    }


    /* Hide regular labs content when printing labs */
    .labs-content,
    .labs-subsection,
    .state-labs-grid,
    .innohk-grid,
    .subsection-title {
        display: none !important;
    }

    /* Show labs print content when printing the labs section */
    body.printing-section .section[data-print-section="labs"] .labs-print,
    body.printing-all-sections .section[data-print-section="labs"] .labs-print {
        display: block !important;
    }

    /* Hide the section header at the top when printing labs */
    body.printing-section .section[data-print-section="labs"]>.container>.section-header,
    body.printing-all-sections .section[data-print-section="labs"]>.container>.section-header {
        display: none !important;
    }

    /* Make labs section full page like cover */
    body.printing-section .section[data-print-section="labs"],
    body.printing-all-sections .section[data-print-section="labs"] {
        margin: 0 !important;
        padding: 0 !important;
        height: calc(297mm - 20px) !important;
        min-height: calc(297mm - 20px) !important;
        position: relative !important;
        overflow: hidden !important;
        background: var(--cuhk-royal-purple, #764393) !important;
        background-color: var(--cuhk-royal-purple, #764393) !important;
        background-image: none !important;
        box-shadow: none !important;
        opacity: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page: section-labs;
    }

    body.printing-all-sections .section[data-print-section="labs"] {
        page-break-after: always !important;
        break-after: page !important;
    }

    /* Remove padding from container within labs section when printing */
    body.printing-section .section[data-print-section="labs"]>.container,
    body.printing-all-sections .section[data-print-section="labs"]>.container {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
        background: linear-gradient(135deg, var(--cuhk-royal-purple) 0%, var(--cuhk-royal-purple) 50%, var(--cuhk-royal-purple) 100%) !important;
    }

    /* Labs print revamp: clean reference-style cards on a white page */
    @page section-labs {
        margin: 10px;
        @bottom-left   { content: ''; background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-center { content: ''; background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        @bottom-right  {              background: #ffffff; -webkit-print-color-adjust: exact; print-color-adjust: exact; color: rgba(0, 0, 0, 0.35); }
    }

    body.printing-section .section[data-print-section="labs"],
    body.printing-all-sections .section[data-print-section="labs"] {
        background: #ffffff !important;
        background-color: #ffffff !important;
        height: auto !important;
        min-height: calc(297mm - 20px) !important;
        overflow: hidden !important;
        page: section-labs;
    }

    body.printing-section .section[data-print-section="labs"]>.container,
    body.printing-all-sections .section[data-print-section="labs"]>.container {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .labs-print {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: auto !important;
        min-height: calc(297mm - 20px) !important;
        max-height: none !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: var(--cuhk-black) !important;
    }

    .labs-print-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        height: auto !important;
        min-height: calc(297mm - 20px) !important;
        padding: 0.273in 0.234in 0.195in 0.234in !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    .labs-print-heading {
        margin: 0 0 0.24in !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.08 !important;
    }

    .labs-print-title-en,
    .labs-print-title-zh {
        display: block !important;
        color: var(--cuhk-classic-purple) !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;
    }

    .labs-print-title-en {
        font-size: 20pt !important;
    }

    .labs-print-title-zh {
        margin-top: 0.025in !important;
        font-size: 18pt !important;
    }

    .labs-print-sections {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.45in !important;
        padding: 0 !important;
        width: 100% !important;
        align-self: stretch !important;
    }

    .labs-print-source-note {
        margin-top: -0.24in !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .labs-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    .labs-print-section {
        color: var(--cuhk-black) !important;
        background: transparent !important;
    }

    .labs-print-subheading {
        display: flex !important;
        align-items: baseline !important;
        flex-wrap: wrap !important;
        gap: 0.06in !important;
        margin: 0 0 0.09in !important;
        color: var(--cuhk-royal-gold) !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .labs-print-subheading .subheading-en,
    .labs-print-subheading .subheading-zh {
        color: var(--cuhk-royal-gold) !important;
    }

    .labs-print-subheading .subheading-en {
        font-size: 16pt !important;
    }

    .labs-print-subheading .subheading-zh {
        font-size: 16pt !important;
    }

    .labs-card-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.11in 0.13in !important;
        width: 100% !important;
        background: transparent !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .labs-print .lab-item {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 1.2in !important;
        padding: 0.25in 0.2in !important;
        text-align: center !important;
        background: #FAFAFA !important;
        border: 0 !important;
        box-sizing: border-box !important;
        color: var(--cuhk-black) !important;
    }

    .state-labs-grid-print {
        /* Inherits gap from .labs-card-grid */
    }

    .state-labs-grid-print .lab-item {
        border: 1px solid #E5E5E5 !important;
    }

    .labs-print .lab-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.025in !important;
        flex: 1 1 auto !important;
    }

    .labs-print .lab-title-en {
        font-size: 9pt !important;
        font-weight: 700 !important;
        line-height: 1.14 !important;
        color: var(--cuhk-black) !important;
    }

    .labs-print .lab-title-zh {
        font-size: 9pt !important;
        font-weight: 700 !important;
        line-height: 1.16 !important;
        color: var(--cuhk-black) !important;
    }

    .innohk-print-category-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.13in !important;
        width: 100% !important;
    }

    .innohk-print-category {
        display: flex !important;
        flex-direction: column !important;
        min-height: 3.38in !important;
        padding: 0.3in 0.2in !important;
        background: #FAFAFA !important;
        border: 1px solid #E5E5E5 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .innohk-category-heading {
        padding: 0 !important;
        margin: 0 0 0.13in !important;
        text-align: center !important;
        background: transparent !important;
        border: 0 !important;
    }

    .innohk-category-title-en,
    .innohk-category-title-zh {
        color: var(--cuhk-royal-gold) !important;
        font-weight: 700 !important;
    }

    .innohk-category-title-en {
        font-size: 12pt !important;
        line-height: 1.1 !important;
    }

    .innohk-category-title-zh {
        margin-top: 0.02in !important;
        font-size: 10.1pt !important;
        line-height: 1.1 !important;
    }

    .innohk-category-items {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        justify-content: stretch !important;
        background: transparent !important;
    }

    .innohk-print-category .lab-item {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        padding: 0.12in 0.1in !important;
        border: 0 !important;
        background: transparent !important;
    }

    .innohk-print-category .lab-item + .lab-item::before {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        width: 0.8in !important;
        height: 0 !important;
        transform: translateX(-50%) !important;
        border-top: 1px solid var(--cuhk-stone) !important;
    }

    .innohk-print-category .lab-title-en::before {
        content: none !important;
    }

    .innohk-flat-grid-print .lab-item {
        min-height: 0.82in !important;
    }

    /* Colleges timeline - compact */
    .colleges-timeline {
        display: block !important;
        column-count: 3 !important;
        column-gap: 0.39rem !important;
        margin: 0.234rem 0 !important;
    }

    .college-item {
        break-inside: avoid;
        margin: 0 0 0.234rem 0 !important;
        padding: 0.156rem !important;
        font-size: 6.5pt;
        display: block !important;
        text-align: center !important;
        border: 1px solid #ddd !important;
        background: white !important;
        page-break-inside: avoid !important;
    }

    .college-item.special {
        background: #f8f8f8 !important;
    }

    .college-emblem {
        width: 20px !important;
        height: 20px !important;
        object-fit: contain !important;
        margin: 0.117rem auto 0.078rem auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Ensure special items without emblems maintain proper spacing */
    .college-item.special .college-year {
        margin-top: 0.195rem !important;
    }

    .college-year {
        font-weight: bold !important;
        font-size: 7.6pt !important;
        margin: 0.078rem 0 !important;
        color: #2f3133 !important;
    }

    .college-name {
        font-size: 5pt !important;
        line-height: 1.2 !important;
        margin: 0.078rem 0 !important;
        color: #2f3133 !important;
    }

    .colleges-total {
        text-align: center !important;
        margin: 0.234rem 0 !important;
        font-size: 8.6pt !important;
        break-inside: avoid !important;
    }

    .total-number {
        font-size: 13pt !important;
        font-weight: bold !important;
    }

    .total-label {
        font-size: 7.6pt !important;
    }

    /* Facilities subsection - ensure proper display */
    .facilities-subsection {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin: 0.234rem 0 !important;
        padding: 0 !important;
    }

    .facilities-subsection h3 {
        font-size: 9.7pt !important;
        margin: 0.156rem 0 !important;
        font-weight: bold !important;
        display: block !important;
    }

    #facilities.facilities-section .print-heading-en,
    #facilities.facilities-section .print-heading-zh,
    #facilities.facilities-section .print-subheading,
    #facilities.facilities-section .facilities-print h3,
    #facilities.facilities-section .facilities-print .college-name,
    #facilities.facilities-section .facilities-print .total-number,
    #facilities.facilities-section .facilities-print .total-label,
    #facilities.facilities-section .facilities-print .museum-name,
    #facilities.facilities-section .facilities-print .campus-fact-number,
    #facilities.facilities-section .facilities-print .campus-fact-value,
    #facilities.facilities-section .facilities-print .staff-total,
    #facilities.facilities-section .facilities-print .staff-icon,
    #facilities.facilities-section .facilities-print .staff-total-number,
    #facilities.facilities-section .facilities-print .staff-total-label,
    #facilities.facilities-section .facilities-print .staff-category-title,
    #facilities.facilities-section .facilities-print .staff-count,
    #facilities.facilities-section .facilities-print .library-name-en,
    #facilities.facilities-section .facilities-print .library-item-text span:first-child,
    #facilities.facilities-section .facilities-print .library-logo,
    #facilities.facilities-section .facilities-print .library-logo .library-number,
    #facilities.facilities-section .facilities-print .library-logo .library-label,
    #facilities.facilities-section .facilities-print .library-number,
    #facilities.facilities-section .facilities-print .sport-icon {
        color: #764393 !important;
    }

    #facilities.facilities-section .facilities-print svg[stroke="#7d2882"],
    #facilities.facilities-section .facilities-print svg [stroke="#7d2882"] {
        stroke: #764393 !important;
    }

    #facilities.facilities-section .facilities-print svg[fill="#7d2882"],
    #facilities.facilities-section .facilities-print svg [fill="#7d2882"] {
        fill: #764393 !important;
    }

    /* Footer - compact */
    .footer {
        page-break-before: avoid;
        margin-top: 0.234rem !important;
        padding: 0.234rem 0 !important;
        border-top: 1px solid #000;
        font-size: 6.5pt;
    }

    .footer-content {
        display: block !important;
    }

    /* Disclaimer inside footer (normal Ctrl+P print) */
    .footer-disclaimer {
        border-top: 1px solid #ccc;
        margin-top: 3pt;
        padding-top: 2pt;
        padding-left: 8pt;
        padding-right: 8pt;
        font-size: 10.8pt;
        color: #555;
        line-height: 1.4;
    }

    .footer-disclaimer p {
        margin-bottom: 1.5pt;
    }

    /* Standalone disclaimer shown during all-section print (footer is hidden) */
    body.printing-all-sections .footer-disclaimer-print-only {
        display: block !important;
        font-size: 6.5pt !important;
        color: #555 !important;
        border-top: 1px solid #ccc !important;
        margin-top: 0.3in !important;
        margin-left: 0.156in !important;
        margin-right: 0.156in !important;
        padding-top: 0.1in !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        line-height: 1.4 !important;
        page-break-before: avoid !important;
    }

    body.printing-all-sections .footer-disclaimer-print-only p {
        margin-bottom: 1.5pt;
    }

    /* Links */
    a {
        color: #2f3133 !important;
        text-decoration: none;
    }

    /* Disable contenteditable styling in print */
    [contenteditable="true"] {
        background: transparent !important;
        border: none !important;
        outline: none !important;
        cursor: default !important;
    }

    /* Hide data-field hover effects and edit hints */
    [data-field]:hover::before,
    [data-field]:hover::after {
        display: none !important;
        content: none !important;
    }

    /* Images - ensure they print properly */
    img {
        max-width: 100% !important;
        height: auto !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Ensure college emblems are always visible in print */
    .college-item img.college-emblem,
    .colleges-timeline .college-emblem {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0.117rem auto 0.078rem auto !important;
    }

    /* Chinese text - properly sized */
    .chinese {
        color: #666 !important;
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        margin-left: 0.5em !important;
    }

    /* Hide less important elements and edit controls to save space */
    .hero-background,
    .ai-editor,
    .delete-ranking-btn,
    .delete-achievement-btn,
    .delete-funding-btn,
    .delete-career-btn,
    .delete-lab-btn,
    .delete-location-btn,
    .delete-output-btn,
    .delete-gba-btn,
    .delete-hostel-btn,
    .delete-library-btn,
    .delete-library-stat-btn,
    .delete-sport-btn,
    .highlight-toggle-btn,
    .drag-handle,
    .edit-hint {
        display: none !important;
    }

    /* Keep map legend visible for print */
    .map-legend {
        font-size: 6.5pt !important;
        margin-top: 0.156rem !important;
    }

    /* Make important numbers stand out */
    .amount,
    .total-count,
    .jupas-number {
        font-weight: bold !important;
        font-size: 8.6pt !important;
    }

    /* Programmes & Exchange - print layout */
    .programmes-exchange-section .section-header,
    .programmes-exchange-section .programmes-overview,
    .programmes-exchange-section .career-section,
    .programmes-exchange-section .exchange-enrichment {
        display: none !important;
    }

    .programmes-exchange-section {
        margin: 0 !important;
        padding: 0 !important;
    }

    .programmes-exchange-section .container {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .programmes-exchange-section .programmes-exchange-print {
        display: block !important;
        margin: 0 !important;
    }

    .programmes-exchange-print-wrapper {
        width: 100% !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.234in !important;
    }

    .programmes-exchange-print-wrapper .print-page {
        box-sizing: border-box !important;
        padding: 0.117in 0.234in 0.117in 0.234in !important;
        min-height: calc(297mm - 20px) !important;
        /* calc(297mm - 20px) = A4 (297mm) minus 10px top and 10px bottom margins */
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
        background: none !important;
        position: relative !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-after: always !important;
    }

    body.printing-section .programmes-exchange-print-wrapper .print-page:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .scholarships-print-wrapper {
        width: 100% !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .scholarships-print-wrapper .print-page {
        box-sizing: border-box !important;
        padding: 0.117in 0.234in 0.117in 0.234in !important;
        min-height: calc(297mm - 20px) !important;
        display: flex !important;
        flex-direction: column !important;
        background: none !important;
        position: relative !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-after: always !important;
    }

    .scholarships-print-wrapper .print-page-logo {
        display: none !important;
    }

    .programmes-exchange-print-wrapper .print-page-logo {
        display: none !important;
    }

    .programmes-exchange-print-wrapper .cuhk-logo-print {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .programmes-exchange-print-wrapper .exchange-print-page,
    .programmes-exchange-print-wrapper .career-print-page,
    .programmes-exchange-print-wrapper .programmes-print-page {
        background: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-heading {
        display: flex !important;
        flex-direction: column !important;
        margin-bottom: 0.078in !important;
    }

    .print-heading-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        letter-spacing: 0.01em !important;
        line-height: 1.2 !important;
        margin-top: 0.031in !important;
    }

    .print-heading-en {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        text-transform: none !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .print-subheading {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 0.08in !important;
        margin: -0.02in 0 0.2in 0 !important;
        color: #333333 !important;
    }

    .print-subheading-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    .print-subheading-zh {
        font-size: 8.6pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
        line-height: 1.2 !important;
    }

    /* Exchange Page - Top Section */
    .exchange-print-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.156in !important;
        flex: 1 1 auto !important;
    }

    .exchange-top-section {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.195in !important;
        align-items: stretch !important;
    }

    .exchange-intro-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.094in !important;
    }

    .exchange-intro-block .intro-section-title {
        margin-bottom: 0.062in !important;
    }

    .exchange-intro-block .intro-heading-zh {
        font-size: 17.3pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        margin-bottom: 0.031in !important;
    }

    .exchange-intro-block .intro-heading-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        color: #333333 !important;
        line-height: 1.3 !important;
    }

    .exchange-intro-block .intro-paragraph {
        font-size: 9.7pt !important;
        line-height: 1.55 !important;
        color: #333333 !important;
        margin: 0 !important;
    }

    .exchange-intro-block .intro-paragraph.en {
        color: #555555 !important;
    }

    /* Purple Stats Card */
    .exchange-stats-block .stats-main-card {
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        border-radius: 0.15in !important;
        padding: 0.172in 0.156in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.047in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .stats-header-row .stats-prefix {
        font-size: 9.7pt !important;
        opacity: 0.9 !important;
    }

    .stats-main-number {
        font-size: 48pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: -1pt !important;
    }

    .stats-main-desc .desc-zh {
        font-size: 10.8pt !important;
        display: block !important;
    }

    .stats-main-en {
        font-size: 8.6pt !important;
        opacity: 0.85 !important;
        line-height: 1.4 !important;
        margin-top: 0.031in !important;
    }

    .stats-divider {
        height: 1px !important;
        background: rgba(255, 255, 255, 0.3) !important;
        margin: 0.078in 0 !important;
    }

    .stats-secondary {
        display: flex !important;
        gap: 0.234in !important;
        margin-bottom: 0.047in !important;
    }

    .stats-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .stats-col .stats-label {
        font-size: 8.6pt !important;
        opacity: 0.85 !important;
    }

    .stats-col .stats-value-row {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.031in !important;
    }

    .stats-col .stats-number {
        font-size: 26pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .stats-col .stats-unit {
        font-size: 10.8pt !important;
        font-weight: 500 !important;
    }

    .stats-secondary-desc {
        font-size: 9.7pt !important;
        opacity: 0.9 !important;
    }

    .stats-secondary-en {
        font-size: 8.6pt !important;
        opacity: 0.8 !important;
        line-height: 1.3 !important;
    }

    /* Middle Section - Non-local students */
    .exchange-middle-section {
        display: grid !important;
        grid-template-columns: 0.9fr 1.1fr !important;
        gap: 0.195in !important;
        align-items: stretch !important;
    }

    .nonlocal-card {
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        border-radius: 0.15in !important;
        padding: 0.156in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .nonlocal-card .nonlocal-prefix {
        font-size: 9.7pt !important;
        opacity: 0.9 !important;
    }

    .nonlocal-card .nonlocal-number {
        font-size: 36pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .nonlocal-card .nonlocal-unit {
        font-size: 13pt !important;
        font-weight: 500 !important;
        margin-left: 0.031in !important;
    }

    .nonlocal-card .nonlocal-label-zh {
        font-size: 9.7pt !important;
        margin-top: 0.016in !important;
    }

    .nonlocal-card .nonlocal-label-en {
        font-size: 8.6pt !important;
        opacity: 0.85 !important;
        line-height: 1.35 !important;
    }

    .diversity-text-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
        justify-content: center !important;
    }

    .diversity-text-block p {
        margin: 0 !important;
        font-size: 9.7pt !important;
        line-height: 1.55 !important;
        color: #333333 !important;
    }

    .diversity-text-block .text-en {
        color: #555555 !important;
    }

    /* Scholarships Section */
    .scholarships-cards-container {
        margin-top: 1.56rem !important;
    }

    .scholarship-row {
        box-shadow: none !important;
        border: 1px solid rgba(0, 0, 0, 0.15) !important;
        border-left-width: 4px !important;
        grid-template-columns: 200px 1fr 160px !important;
        padding: 0.585rem 0.78rem !important;
        break-inside: avoid;
    }

    .scholarship-row-bar-track {
        height: 22px !important;
    }

    .scholarship-row-stats .amount-count {
        font-size: 1.75rem !important;
    }

    /* ========== PROGRAMMES PAGE ========== */
    .programmes-print-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
        flex: 1 1 auto !important;
    }

    .programmes-intro-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
    }

    .programmes-intro-block p {
        margin: 0 !important;
        font-size: 9.7pt !important;
        line-height: 1.5 !important;
        color: #333333 !important;
    }

    .programmes-intro-block .intro-en {
        color: #555555 !important;
        white-space: nowrap !important;
    }

    /* Medicine Highlight Section */
    .medicine-highlight-section {
        display: flex !important;
        align-items: stretch !important;
        gap: 0 !important;
        margin-bottom: 0.156in !important;
        background: #ffffff !important;
        border: none !important;
    }

    .medicine-info-left {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.156in !important;
        padding-right: 0.156in !important;
    }

    .medicine-icon-circle {
        width: 0.6in !important;
        height: 0.6in !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid var(--cuhk-classic-purple) !important;
        border-radius: 50% !important;
    }

    .medicine-icon-circle i {
        font-size: 18pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .medicine-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        text-align: left !important;
    }

    .medicine-label .medicine-en {
        font-size: 11.9pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.2 !important;
    }

    .medicine-label .medicine-sub-en,
    .medicine-label .medicine-zh {
        font-size: 11.9pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .medicine-label .medicine-sub-zh {
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .medicine-highlight-box {
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        padding: 0.117in 0.195in !important;
        width: 4in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border-radius: 0 !important;
        flex: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .highlight-years-row {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.039in !important;
        margin-bottom: 0.039in !important;
    }

    .highlight-years-row .years-label {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
    }

    .highlight-years-row .years-number {
        font-size: 42pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .highlight-years-row .years-unit {
        font-size: 15.1pt !important;
        font-weight: 600 !important;
    }

    .highlight-desc-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        margin-bottom: 0.062in !important;
        line-height: 1.2 !important;
        opacity: 1 !important;
    }

    .highlight-desc-main-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        margin-bottom: 0.039in !important;
    }

    .highlight-desc-zh {
        font-size: 11.9pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    /* Top Programmes Header */
    .top-programmes-header-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.039in !important;
        margin-bottom: 0.094in !important;
    }

    .top-programmes-header-block p {
        margin: 0 !important;
        font-size: 9.2pt !important;
        line-height: 1.35 !important;
        color: #2f3133 !important;
    }

    .top-programmes-header-block .count-highlight,
    .top-programmes-header-block .score-highlight {
        font-weight: 700 !important;
    }

    /* Top Programmes Grid */
    .top-programmes-grid-print {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 0.156in !important;
        row-gap: 0.094in !important;
        margin-bottom: 0.117in !important;
    }

    .programmes-print-source-note {
        margin: -0.055in 0 0.1in 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .programmes-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    .programme-item-print {
        display: flex !important;
        align-items: center !important;
        gap: 0.078in !important;
        border: 1px solid #e0e0e0 !important;
        padding: 0.062in 0.078in !important;
        min-height: 0.55in !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .programme-icon-circle {
        width: 0.35in !important;
        height: 0.35in !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0.8pt solid var(--cuhk-classic-purple) !important;
        border-radius: 50% !important;
    }

    .programme-icon-circle i {
        font-size: 13pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .programme-text {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .programme-en {
        font-size: 8.6pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        color: #333333 !important;
        margin-bottom: 1px !important;
    }

    .programme-zh {
        font-size: 8.6pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 1.1 !important;
    }

    .print-programme-empty {
        font-size: 9.7pt !important;
        color: #888888 !important;
        font-style: italic !important;
    }

    /* Zhizhen Block - Bottom Section */
    .zhizhen-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.047in !important;
        margin-top: 0.078in !important;
        padding: 0 !important;
    }

    .zhizhen-block p {
        margin: 0 !important;
        font-size: 9.2pt !important;
        line-height: 1.4 !important;
        color: #2f3133 !important;
    }

    .zhizhen-block .zhizhen-zh {
        font-weight: 500 !important;
    }

    .facilities-section {
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .facilities-section > .container {
        padding: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .facilities-section .section-header {
        display: none !important;
    }

    .facilities-section .facilities-subsection,
    .facilities-section .colleges-timeline,
    .facilities-section .faculties-grid,
    .facilities-section .staff-overview,
    .facilities-section .staff-categories,
    .facilities-section .hostels-grid,
    .facilities-section .library-list,
    .facilities-section .library-stats,
    .facilities-section .sports-grid {
        display: none !important;
    }

    .facilities-section .facilities-print {
        display: block !important;
        margin: 0 !important;
        background: #ffffff !important;
    }



    /* Colleges & Faculties Page Container */
    .colleges-faculties-page {
        background: #ffffff !important;
        padding: 0.265in 0.156in 0.203in !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        min-height: calc(297mm - 20px) !important;
        margin-bottom: 0 !important;
        page-break-after: always !important;
        break-after: page !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-faculties-page::before,
    .staff-print-section::before,
    .facilities-bottom-section::before,
    .hostels-libraries-row::before,
    .sports-print-section::before {
        content: "CUHK Resources  中大資源" !important;
        display: block !important;
        margin-bottom: 0.14in !important;
        font-size: 13pt !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
        color: var(--cuhk-classic-purple) !important;
    }

    html[data-chinese-variant="hans"] .colleges-faculties-page::before,
    html[data-chinese-variant="hans"] .staff-print-section::before,
    html[data-chinese-variant="hans"] .facilities-bottom-section::before,
    html[data-chinese-variant="hans"] .hostels-libraries-row::before,
    html[data-chinese-variant="hans"] .sports-print-section::before {
        content: "CUHK Resources  中大资源" !important;
    }

    /* Colleges Timeline Print - Redesigned */
    .colleges-print-section {
        margin-bottom: 0.234in !important;
    }

    .colleges-print-header {
        margin-bottom: 0.22in !important;
    }

    .colleges-print-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .colleges-print-title .title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        display: block !important;
        margin-top: 0.031in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .colleges-print-content {
        display: flex !important;
        gap: 0 !important;
    }

    .colleges-total-sidebar {
        background: var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        color: #ffffff !important;
        padding: 0.195in 0.117in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0.9in !important;
        border-radius: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-total-sidebar .total-label {
        font-size: 10.8pt !important;
        font-weight: 400 !important;
        color: #ffffff !important;
        margin-bottom: 0.016in !important;
        letter-spacing: 0.02em !important;
    }

    .colleges-total-sidebar .total-number {
        font-size: 80pt !important;
        font-weight: 300 !important;
        color: #ffffff !important;
        line-height: 0.9 !important;
        margin-bottom: 0.016in !important;
        font-family: 'Arial', sans-serif !important;
    }

    .colleges-total-sidebar .total-unit {
        font-size: 15.1pt !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        text-align: center !important;
        line-height: 1.3 !important;
    }

    .colleges-print-timeline {
        flex: 1 !important;
        display: flex !important;
        visibility: visible !important;
        flex-direction: column !important;
        background: #ffffff !important;
        border-top: 1px solid var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        border-bottom: 1px solid var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-print-timeline .college-timeline-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        visibility: visible !important;
    }

    .colleges-print-timeline .college-timeline-cell {
        min-width: 0 !important;
        padding: 0.078in 0.094in !important;
        background: #ffffff !important;
        border-right: 1px solid var(--cuhk-dewy-purple, #E5D7EC) !important;
        border-bottom: 1px solid var(--cuhk-dewy-purple, #E5D7EC) !important;
        display: flex !important;
        visibility: visible !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-print-timeline .college-timeline-row:last-child .college-timeline-cell {
        border-bottom: none !important;
    }

    .colleges-print-timeline .college-timeline-cell:last-child {
        border-right: none !important;
    }

    .colleges-print-timeline .college-timeline-cell.empty {
        background: transparent !important;
        border-right: none !important;
        border-bottom: none !important;
        padding: 0 !important;
    }

    .colleges-print-timeline .college-timeline-cell.special {
        background: var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-print-timeline .college-timeline-year {
        background: var(--cuhk-milky-purple, #F1ECF4) !important;
        color: var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        padding: 0.031in 0.094in !important;
        border-radius: 0.04in !important;
        margin-bottom: 0.062in !important;
        display: inline-block !important;
        visibility: visible !important;
        border: 1px solid var(--cuhk-dewy-purple, #E5D7EC) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-print-timeline .college-timeline-cell.special .college-timeline-year {
        background: rgba(255, 255, 255, 0.9) !important;
        color: #555555 !important;
    }

    .colleges-print-timeline .college-timeline-card {
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        gap: 0.062in !important;
    }

    .colleges-print-timeline .college-timeline-card.no-emblem {
        gap: 0 !important;
    }

    .colleges-print-timeline .college-timeline-card.special {
        color: #ffffff !important;
    }

    .colleges-print-timeline .college-timeline-emblem {
        width: 0.45in !important;
        height: 0.45in !important;
        object-fit: contain !important;
        border-radius: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .colleges-print-timeline .college-timeline-info {
        display: flex !important;
        visibility: visible !important;
        flex-direction: column !important;
    }

    .colleges-print-timeline .college-timeline-name-en {
        font-size: 9.7pt !important;
        font-weight: 600 !important;
        color: #333333 !important;
        line-height: 1.3 !important;
    }

    .colleges-print-timeline .college-timeline-card.special .college-timeline-name-en {
        color: #ffffff !important;
    }

    .colleges-print-timeline .college-timeline-name-zh {
        font-size: 8.6pt !important;
        color: var(--cuhk-classic-purple, var(--classic-purple, var(--cuhk-royal-purple))) !important;
        line-height: 1.3 !important;
    }

    .colleges-print-timeline .college-timeline-card.special .college-timeline-name-zh {
        color: rgba(255, 255, 255, 0.9) !important;
    }

    /* Faculties Grid Print - Redesigned */
    .faculties-print-section {
        background: #ffffff !important;
        margin-top: 0.156in !important;
    }

    .faculties-print-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        margin-bottom: 0.22in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .faculties-print-title .title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        display: block !important;
        margin-top: 0.031in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .faculties-print-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.195in 0.117in !important;
        padding: 0.117in 0 !important;
    }

    .faculty-print-item {
        text-align: center !important;
        padding: 0.078in 0.039in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.062in !important;
    }

    /* First row items (1-4) get bottom padding */
    .faculty-print-item:nth-child(-n+4) {
        padding-bottom: 0.156in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .faculty-print-icon {
        width: 0.6in !important;
        height: 0.6in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .faculty-print-icon svg {
        width: 100% !important;
        height: 100% !important;
    }

    .faculty-print-name {
        font-size: 9.7pt !important;
        font-weight: 500 !important;
        color: #333333 !important;
        line-height: 1.3 !important;
    }

    .faculty-print-name-zh {
        font-size: 8.6pt !important;
        color: var(--cuhk-royal-purple) !important;
        font-weight: 500 !important;
    }

    /* Hostels and Libraries Row */
    .facilities-stats-row,
    .facilities-bottom-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 0.1in 0.187in !important;
        background: #ffffff !important;
    }

    .hostels-libraries-row {
        display: block !important;
        min-height: calc(297mm - 20px) !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-before: always !important;
        break-before: page !important;
        page-break-after: auto !important;
        break-after: auto !important;
    }

    /* ========================================
       Student Hostels Section - Redesigned
       ======================================== */
    .hostels-print-section {
        background: #ffffff !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
    }

    .hostels-print-header {
        margin-bottom: 0.062in !important;
    }

    .hostels-print-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .hostels-print-title sup {
        font-size: 9.7pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .hostels-print-title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin-top: 0.031in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .hostels-print-title-zh sup {
        font-size: 6.5pt !important;
    }

    .hostels-print-subheader {
        font-size: 9.7pt !important;
        color: #232323 !important;
        margin: 0.094in 0 0.062in 0 !important;
        padding: 0.062in 0.078in !important;
        background: #f5f5f5 !important;
        border-top: 1px solid #e0e0e0 !important;
        border-bottom: 1px solid #e0e0e0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .hostels-print-subheader .subheader-en {
        font-weight: 500 !important;
        margin-right: 0.078in !important;
    }

    .hostels-print-subheader .subheader-zh {
        color: #313131 !important;
    }

    .hostels-print-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0 !important;
        margin-bottom: 0 !important;
        border-left: 1px solid #e8e8e8 !important;
        border-right: 1px solid #e8e8e8 !important;
    }

    .hostel-print-item {
        padding: 0.078in 0.094in !important;
        border-bottom: 1px solid #e8e8e8 !important;
        border-right: 1px solid #e8e8e8 !important;
        background: #ffffff !important;
    }

    /* Remove right border on last column */
    .hostel-print-item:nth-child(3n) {
        border-right: none !important;
    }

    /* Remove bottom border on last row (assuming 12 items = 4 rows) */
    .hostel-print-item:nth-last-child(-n+3) {
        border-bottom: none !important;
    }

    .hostel-print-name {
        font-size: 8.6pt !important;
        font-weight: 400 !important;
        color: #333333 !important;
        line-height: 1.3 !important;
    }

    .hostel-print-name-zh {
        font-size: 7.6pt !important;
        color: #212121 !important;
        line-height: 1.25 !important;
        margin-bottom: 0.031in !important;
    }

    .hostel-print-count {
        font-size: 20pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-dynamic-gold) !important;
        line-height: 1.1 !important;
    }

    .hostels-print-total {
        background: var(--cuhk-dynamic-gold) !important;
        color: #ffffff !important;
        padding: 0.117in 0.156in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .hostels-total-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .hostels-total-label .label-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        color: #333333 !important;
    }

    .hostels-total-label .label-zh {
        font-size: 9.7pt !important;
        font-weight: 400 !important;
        color: #333333 !important;
    }

    .hostels-total-number {
        font-size: 36pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 1 !important;
    }

    .hostels-print-section--staff {
        margin-top: 0.156in !important;
        padding-top: 0.117in !important;
        border-top: 1px solid rgba(118, 67, 147, 0.18) !important;
    }

    .hostels-print-section--staff .hostels-print-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    .hostels-print-section--staff .hostel-print-item {
        padding: 0.055in 0.07in !important;
    }

    .hostels-print-section--staff .hostel-print-item:nth-child(3n) {
        border-right: 1px solid #e8e8e8 !important;
    }

    .hostels-print-section--staff .hostel-print-item:nth-child(4n) {
        border-right: none !important;
    }

    .hostels-print-section--staff .hostel-print-name,
    .hostels-print-section--staff .hostel-print-name-zh {
        font-size: 7pt !important;
    }

    .hostels-print-section--staff .hostel-print-count {
        font-size: 15.1pt !important;
    }

    .hostels-print-section--staff .hostels-print-total {
        min-height: 0.62in !important;
        padding: 0.055in 0.172in !important;
        gap: 0.187in !important;
    }

    .hostels-print-section--staff .hostels-total-number {
        font-size: 34pt !important;
    }

    /* ========================================
       Libraries Section - Book Shape Design
       ======================================== */
    .libraries-print-section {
        background: transparent !important;
        padding: 0 !important;
        border: none !important;
        width: 100% !important;
    }

    .libraries-book-shape {
        display: flex !important;
        background: var(--cuhk-dynamic-gold) !important;
        border-radius: 0.08in 0.15in 0.15in 0.08in !important;
        overflow: hidden !important;
        min-height: 3.5in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .book-spine {
        width: 0.15in !important;
        background: var(--cuhk-dynamic-gold) !important;
        border-right: 2px solid rgba(0, 0, 0, 0.1) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .book-content {
        flex: 1 !important;
        padding: 0.117in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.078in !important;
    }

    .libraries-header {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.062in !important;
        padding-bottom: 0.078in !important;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
    }

    .libraries-count {
        font-size: 48pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 0.9 !important;
    }

    .libraries-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .libraries-label .label-en {
        font-size: 11.9pt !important;
        font-weight: 600 !important;
        color: #333333 !important;
    }

    .libraries-label .label-en sup,
    .libraries-label .label-zh sup {
        font-size: 7.6pt !important;
        color: #333333 !important;
    }

    .libraries-label .label-zh {
        font-size: 9.7pt !important;
        font-weight: 500 !important;
        color: #666666 !important;
    }

    .libraries-names-list {
        background: #ffffff !important;
        border-radius: 0.06in !important;
        padding: 0.078in !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.031in !important;
    }

    .library-name-item {
        padding: 0.023in 0 !important;
        border-bottom: 1px solid rgba(218, 209, 178, 0.5) !important;
    }

    .library-name-item:last-child {
        border-bottom: none !important;
    }

    .library-name-content {
        display: flex !important;
        align-items: center !important;
        gap: 0.047in !important;
    }

    .print-lib-logo-img {
        height: 18pt !important;
        width: auto !important;
        object-fit: contain !important;
        filter: drop-shadow(0 1px 1px rgba(0,0,0,0.1)) !important;
    }

    .library-name-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .library-name-item .name-en {
        font-size: 7.6pt !important;
        font-weight: 600 !important;
        color: #333333 !important;
        display: block !important;
        line-height: 1.1 !important;
    }

    .library-name-item .name-zh {
        font-size: 6.5pt !important;
        color: #666666 !important;
        display: block !important;
        line-height: 1.1 !important;
    }

    /* Library Stats Section - Matching Reference Design */
    .libraries-stats-section {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.062in !important;
        margin-top: auto !important;
        padding-top: 0.078in !important;
    }

    .library-stat-primary {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 0.016in !important;
        padding: 0.062in 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    }

    .library-stat-primary .stat-value {
        font-size: 22pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 1 !important;
    }

    .library-stat-primary .stat-label {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
    }

    .library-stat-primary .stat-label .label-en {
        font-size: 9.7pt !important;
        font-weight: 500 !important;
        color: #333333 !important;
    }

    .library-stat-primary .stat-label .label-zh {
        font-size: 7.6pt !important;
        color: #666666 !important;
    }

    .library-stat-primary.ebooks {
        border-bottom: none !important;
        padding-top: 0.062in !important;
    }

    .library-stat-primary.ebooks .stat-value {
        font-size: 24pt !important;
    }

    .library-stat-row-pair {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.078in !important;
        padding: 0.062in 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    }

    .library-stat-row-pair .library-stat-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 0.016in !important;
    }

    .library-stat-row-pair .stat-value {
        font-size: 17.3pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 1 !important;
    }

    .library-stat-row-pair .stat-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .library-stat-row-pair .stat-label .label-en {
        font-size: 7.6pt !important;
        font-weight: 500 !important;
        color: #333333 !important;
    }

    .library-stat-row-pair .stat-label .label-zh {
        font-size: 6.5pt !important;
        color: #666666 !important;
    }

    /* Hide old stats list styles */
    .libraries-stats-list {
        display: none !important;
    }

    /* ========================================
       Sports Facilities Section - Redesigned
       ======================================== */
    .sports-print-section {
        background: #ffffff !important;
        padding: 0.1in 0 !important;
        margin-top: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        min-height: calc(297mm - 20px) !important;
        page-break-before: always !important;
        break-before: page !important;
    }

    .sports-print-header {
        margin-bottom: 0.156in !important;
    }

    .sports-print-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .sports-print-title sup {
        font-size: 9.7pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .sports-print-title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin-top: 0.031in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .sports-print-title-zh sup {
        font-size: 6.5pt !important;
    }

    .sports-print-footnote {
        margin-top: 0.156in !important;
        padding-top: 0.078in !important;
    }

    .sports-print-footnote p {
        font-size: 7.6pt !important;
        color: #666666 !important;
        margin: 0 0 0.016in 0 !important;
        line-height: 1.3 !important;
    }

    .sports-print-footnote sup {
        font-size: 6.5pt !important;
    }

    /* ========================================
       Staff Print Section Styles
       ======================================== */
    .staff-print-section {
        background: #ffffff !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0.1in 0.187in !important;
        min-height: calc(297mm - 20px) !important;
        page-break-after: always !important;
        break-after: page !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .staff-print-content {
        display: flex !important;
        gap: 0 !important;
        border: 1px solid var(--cuhk-royal-purple) !important;
    }

    .staff-total-sidebar {
        background: var(--cuhk-royal-purple) !important;
        color: #ffffff !important;
        padding: 0.195in 0.156in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 1.1in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .staff-total-sidebar .total-label {
        font-size: 10.8pt !important;
        font-weight: 400 !important;
        color: #ffffff !important;
        margin-bottom: 0.031in !important;
        letter-spacing: 0.02em !important;
    }

    .staff-total-sidebar .total-number {
        font-size: 36pt !important;
        font-weight: 300 !important;
        color: #ffffff !important;
        line-height: 1 !important;
        margin-bottom: 0.031in !important;
        font-family: 'Arial', sans-serif !important;
    }

    .staff-total-sidebar .total-unit {
        font-size: 10.8pt !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        text-align: center !important;
        line-height: 1.3 !important;
    }

    .staff-print-main {
        flex: 1 !important;
        padding: 0.117in 0.156in !important;
        background: #ffffff !important;
    }

    .staff-print-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        margin-bottom: 0.117in !important;
        padding-bottom: 0.078in !important;
        border-bottom: 1px solid rgba(118, 67, 147, 0.2) !important;
    }

    .staff-print-title {
        font-size: 13pt !important;
        font-weight: 500 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    .staff-print-title .title-zh {
        font-size: 8.6pt !important;
        font-weight: 300 !important;
        color: #666 !important;
        display: block !important;
        margin-top: 0.031in !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
    }

    .staff-as-of-date {
        font-size: 7.6pt !important;
        color: #666666 !important;
        font-style: italic !important;
    }

    .staff-print-source-note {
        margin: 0.08in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .staff-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    .staff-print-grid {
        display: grid !important;
        grid-template-columns: 1fr 2fr !important;
        gap: 0.117in !important;
    }

    /* Teaching Staff Block */
    .teaching-staff-block {
        background: linear-gradient(135deg, rgba(118, 67, 147, 0.08) 0%, rgba(118, 67, 147, 0.02) 100%) !important;
        border: 1px solid rgba(118, 67, 147, 0.15) !important;
        border-radius: 0.1in !important;
        padding: 0.094in !important;
    }

    .teaching-header {
        display: flex !important;
        align-items: center !important;
        gap: 0.078in !important;
        margin-bottom: 0.078in !important;
        padding-bottom: 0.062in !important;
        border-bottom: 1px solid rgba(118, 67, 147, 0.15) !important;
    }

    .teaching-icon {
        width: 0.4in !important;
        height: 0.4in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(118, 67, 147, 0.1) !important;
        border-radius: 50% !important;
    }

    .teaching-icon svg {
        width: 0.28in !important;
        height: 0.28in !important;
    }

    .teaching-title-group {
        flex: 1 !important;
    }

    .teaching-title {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1.2 !important;
    }

    .teaching-title .title-zh {
        font-size: 9.7pt !important;
        font-weight: 500 !important;
        margin-left: 0.039in !important;
    }

    .teaching-total {
        font-size: 18pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-purple) !important;
        line-height: 1 !important;
    }

    .teaching-breakdown {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.047in !important;
    }

    .teaching-breakdown-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 0.062in !important;
    }

    .breakdown-count {
        font-size: 13pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-gold) !important;
        min-width: 0.4in !important;
        text-align: right !important;
    }

    .breakdown-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .breakdown-label .label-en {
        font-size: 7.6pt !important;
        font-weight: 500 !important;
        color: #333333 !important;
        line-height: 1.2 !important;
    }

    .breakdown-label .label-zh {
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: #666666 !important;
        line-height: 1.2 !important;
    }

    /* Staff Categories Grid */
    .staff-categories-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.078in !important;
    }

    .staff-print-category-item {
        background: #FFF9F0 !important;
        border: 1px solid var(--cuhk-royal-gold) !important;
        border-radius: 0.08in !important;
        padding: 0.078in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        min-height: 0.7in !important;
    }

    .staff-category-icon {
        width: 0.35in !important;
        height: 0.35in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 0.031in !important;
    }

    .staff-category-icon svg {
        width: 100% !important;
        height: 100% !important;
    }

    .staff-category-total {
        font-size: 15.1pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-gold) !important;
        line-height: 1 !important;
        margin-bottom: 0.016in !important;
    }

    .staff-category-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.01in !important;
    }

    .staff-category-label .label-en {
        font-size: 7.6pt !important;
        font-weight: 500 !important;
        color: #333333 !important;
        line-height: 1.2 !important;
    }

    .staff-category-label .label-zh {
        font-size: 6.5pt !important;
        font-weight: 400 !important;
        color: #8b5a2b !important;
        line-height: 1.2 !important;
    }
}

@media print {
    body.ai-printing-image {
        padding: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
    }

    body.ai-printing-image * {
        visibility: hidden !important;
    }

    body.ai-printing-image #ai-print-output,
    body.ai-printing-image #ai-print-output * {
        visibility: visible !important;
    }

    body.ai-printing-image #ai-print-output {
        display: flex !important;
        position: fixed !important;
        inset: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100vw !important;
        height: 100vh !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
        z-index: 999999 !important;
    }

    body.ai-printing-image #ai-print-output img {
        display: block !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

@media print {
    /* Reference PNG aligned print revamp for 2026 section pages */
    html[data-active-print-section="students"],
    body[data-active-print-section="students"] {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .reference-print-heading {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.062in !important;
        margin: 0 0 0.094in 0 !important;
        color: var(--cuhk-classic-purple) !important;
        line-height: 1.12 !important;
    }

    .reference-print-heading .heading-en,
    .reference-print-heading .print-heading-en {
        font-size: 20pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .reference-print-heading .heading-zh,
    .reference-print-heading .print-heading-zh {
        font-size: 18pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .reference-section-title {
        font-size: 15.1pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-royal-gold) !important;
        margin: 0.14in 0 0.062in !important;
        line-height: 1.2 !important;
    }

    .reference-section-title span {
        margin-left: 0.031in !important;
    }

    .reference-footnotes {
        color: #555555 !important;
        font-size: 6.8pt !important;
        line-height: 1.25 !important;
    }

    .reference-footnotes.two-col {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.187in !important;
    }

    .reference-footnotes p {
        margin: 0 !important;
    }

    /* Student Population */
    .students-section,
    .students-section .container,
    .students-print-wrapper {
        background: #ffffff !important;
    }

    .students-print-wrapper {
        width: 100% !important;
        min-height: calc(297mm - 20px) !important;
        margin: 0 !important;
        padding: 0.265in 0.172in 0.156in 0.172in !important;
        gap: 0.25in !important;
        box-sizing: border-box !important;
    }

    .students-print-wrapper .reference-print-heading {
        gap: 0.078in !important;
        margin: 0 !important;
    }

    .students-print-wrapper .reference-print-heading .heading-en {
        font-size: 20pt !important;
    }

    .students-print-wrapper .reference-print-heading .heading-zh {
        font-size: 18pt !important;
    }

    .students-print-wrapper .reference-footnotes {
        font-size: 7pt !important;
        line-height: 1.24 !important;
    }

    .student-population-panel h3,
    .reference-card-section h3,
    .student-career-list-section h3 {
        margin: 0 0 0.25in !important;
        color: var(--cuhk-royal-gold) !important;
        font-size: 15.7pt !important;
        font-weight: 700 !important;
        line-height: 1.18 !important;
    }

    /* Undergraduate title should be purple in Student Population section */
    .student-population-panel:not(.postgraduate) h3,
    .student-population-panel:not(.postgraduate) h3 span {
        color: var(--cuhk-classic-purple) !important;
    }

    .student-population-panel h3 span,
    .reference-card-section h3 span,
    .student-career-list-section h3 span {
        color: inherit !important; /* Use parent's color */
        margin-left: 0.031in !important;
    }

    .reference-section-title h3, /* Extra safety */
    .student-population-panel.postgraduate h3,
    .student-population-panel.postgraduate h3 span {
        color: var(--cuhk-classic-purple) !important;
    }

    .reference-card-section h3 em,
    .student-career-list-section h3 em {
        color: inherit !important;
        font-style: normal !important;
        margin-left: 0.031in !important;
    }

    .student-population-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        border: 1px solid #e5e5e5 !important;
        background: #ffffff !important;
    }

    .student-population-cell {
        min-height: 1.08in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        border-right: 1px solid #e8e8e8 !important;
        text-align: center !important;
        color: #111111 !important;
    }

    .student-population-cell:last-child {
        border-right: 0 !important;
    }

    .student-population-cell strong {
        font-size: 32pt !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        color: var(--cuhk-classic-purple) !important;
        margin-bottom: 0.02in !important;
    }

    .student-population-panel.postgraduate .student-population-cell strong {
        color: var(--cuhk-classic-purple) !important;
    }

    .student-population-cell span {
        font-size: 9.9pt !important;
        color: #666666 !important;
        font-weight: 400 !important;
        line-height: 1.18 !important;
    }

    .student-population-cell.total {
        background: rgba(118, 67, 147, 0.06) !important;
        border: 0 !important;
        border-left: 1px solid rgba(118, 67, 147, 0.18) !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .student-population-cell.total.purple {
        background: rgba(118, 67, 147, 0.06) !important;
        border-left-color: rgba(118, 67, 147, 0.18) !important;
    }

    .student-population-cell.total.gold {
        background: rgba(118, 67, 147, 0.06) !important;
        border-left-color: rgba(118, 67, 147, 0.18) !important;
    }

    .student-population-cell.total strong {
        color: var(--cuhk-classic-purple) !important;
        font-weight: 600 !important;
    }

    .student-population-cell.total.gold strong {
        color: var(--cuhk-classic-purple) !important;
    }

    .student-population-cell.total span {
        color: var(--cuhk-classic-purple) !important;
    }

    .student-population-cell.total.gold span {
        color: var(--cuhk-classic-purple) !important;
    }

    .student-print-source-note {
        margin: 0.045in 0 0 !important;
        color: #6c7074 !important;
        font-family: 'Inter', Arial, sans-serif !important;
        line-height: 1.25 !important;
    }

    .student-print-source-note p {
        margin: 0 !important;
        color: #6c7074 !important;
        font-size: 7pt !important;
    }

    .reference-stat-card-grid {
        display: grid !important;
        gap: 0.094in !important;
        margin-bottom: 0.18in !important;
    }

    .reference-stat-card-grid.three {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .reference-stat-card-grid.two {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .reference-stat-card {
        min-height: 1.08in !important;
        border: 1px solid #e5e5e5 !important;
        background: #fafafa !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.094in 0.062in !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    .reference-stat-card.with-ribbon {
        padding-top: 0.25in !important;
        justify-content: flex-start !important;
    }

    .reference-stat-card strong {
        color: var(--cuhk-royal-gold) !important;
        font-size: 31pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        margin-bottom: 0.039in !important;
    }

    .reference-stat-card span {
        color: #111111 !important;
        font-size: 9.5pt !important;
        font-weight: 700 !important;
        line-height: 1.18 !important;
    }

    .reference-card-ribbon {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 0.22in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: var(--cuhk-royal-gold) !important;
        color: #ffffff !important;
        font-size: 7.6pt !important;
        font-weight: 700 !important;
    }

    .student-career-list-section {
        margin-top: 0.031in !important;
    }

    .student-career-list {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.07in 0.156in !important;
        padding-top: 0.031in !important;
    }

    .student-career-item {
        display: grid !important;
        grid-template-columns: 0.66in 1fr !important;
        column-gap: 0.047in !important;
        align-items: baseline !important;
    }

    .student-career-item strong {
        grid-row: span 2 !important;
        color: var(--cuhk-royal-gold) !important;
        font-size: 18.4pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-align: right !important;
    }

    .student-career-item span {
        color: #111111 !important;
        font-size: 8.4pt !important;
        font-weight: 700 !important;
        line-height: 1.16 !important;
    }

    .career-print-page {
        padding: 0.36in 0.36in !important;
    }

    .career-print-page .print-heading {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.016in !important;
        margin-bottom: 0.28in !important;
    }

    .career-print-page .print-heading-en {
        font-size: 23pt !important;
        line-height: 1.08 !important;
    }

    .career-print-page .print-heading-zh {
        margin-top: 0 !important;
        font-size: 18.5pt !important;
        line-height: 1.08 !important;
    }

    .career-print-page .student-career-list-section {
        margin-top: 0.12in !important;
    }

    .career-print-page .student-career-list-section h3 {
        margin-bottom: 0.24in !important;
        font-size: 16pt !important;
        line-height: 1.1 !important;
    }

    .career-print-page .student-career-list-section h3 span {
        display: block !important;
        margin: 0.035in 0 0 !important;
        font-size: 16pt !important;
        line-height: 1.12 !important;
    }

    .career-print-page .student-career-list-section h3 em {
        margin-left: 0.062in !important;
        font-size: 16pt !important;
    }

    .career-print-page .student-career-list {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.16in 0.34in !important;
        padding-top: 0 !important;
    }

    .career-print-page .student-career-item {
        grid-template-columns: 1.05in 1fr !important;
        column-gap: 0.105in !important;
        min-height: 0.64in !important;
        align-items: center !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .career-print-page .student-career-item strong {
        font-size: 29pt !important;
        letter-spacing: -0.02em !important;
    }

    .career-print-page .student-career-item span {
        font-size: 11.4pt !important;
        line-height: 1.22 !important;
    }

    .career-print-source-note {
        margin: 0.16in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .career-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    /* Programmes and Exchange */
    .programmes-exchange-print-wrapper .print-page,
    .scholarships-print-wrapper .print-page {
        padding: 0.265in 0.156in !important;
        min-height: calc(297mm - 20px) !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    .programmes-exchange-print-wrapper .print-heading,
    .scholarships-print-wrapper .print-heading {
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 0.062in !important;
    }

    .programmes-exchange-print-wrapper .print-heading-en,
    .scholarships-print-wrapper .print-heading-en {
        font-size: 20pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .programmes-exchange-print-wrapper .print-heading-zh,
    .scholarships-print-wrapper .print-heading-zh {
        margin-top: 0 !important;
        font-size: 18pt !important;
        font-weight: 700 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .exchange-print-content {
        gap: 0.195in !important;
    }

    .exchange-print-page .student-as-of {
        display: none !important;
    }

    .exchange-programs-section {
        margin: 0 !important;
    }

    .exchange-programs-section .subsection-title {
        display: block !important;
        margin: 0 0 0.047in !important;
        color: var(--cuhk-royal-gold) !important;
        font-size: 14.3pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .exchange-programs-section .subsection-title .chinese {
        display: inline !important;
        color: var(--cuhk-royal-gold) !important;
        font-size: 13.2pt !important;
        margin-left: 0.031in !important;
    }

    .exchange-description {
        margin-bottom: 0.086in !important;
    }

    .exchange-description p {
        margin: 0 0 0.039in !important;
        color: #111111 !important;
        font-size: 9.1pt !important;
        line-height: 1.28 !important;
        font-weight: 600 !important;
    }

    .exchange-description .description-chinese {
        font-weight: 500 !important;
    }

    .exchange-cards-grid {
        gap: 0.109in !important;
    }

    .exchange-card.print-card {
        min-height: 0.95in !important;
        border: 1px solid #e2e2e2 !important;
        background: #fafafa !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        grid-template-columns: 0.94fr 1.06fr !important;
        align-items: center !important;
        column-gap: 0.094in !important;
        row-gap: 0.01in !important;
        padding: 0.125in 0.156in !important;
    }

    .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }

    .programmes-exchange-print-wrapper .exchange-card.print-card .card-number-row {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 0 !important;
        color: var(--cuhk-royal-gold) !important;
        white-space: nowrap !important;
    }

    .programmes-exchange-print-wrapper .card-prefix-gold,
    .programmes-exchange-print-wrapper .card-suffix-gold,
    .programmes-exchange-print-wrapper .card-big-number {
        color: var(--cuhk-royal-gold) !important;
    }

    .programmes-exchange-print-wrapper .card-prefix-gold {
        font-size: 40pt !important;
        font-weight: 700 !important;
        margin-right: 0.031in !important;
    }

    .programmes-exchange-print-wrapper .exchange-card.print-card .card-big-number {
        font-size: 43pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        margin-bottom: 0 !important;
    }

    .programmes-exchange-print-wrapper .exchange-card.print-card .card-description-english,
    .programmes-exchange-print-wrapper .exchange-card.print-card .card-description-chinese {
        grid-column: 2 !important;
        text-align: left !important;
        color: #111111 !important;
        font-weight: 700 !important;
        line-height: 1.18 !important;
    }

    .programmes-exchange-print-wrapper .exchange-card.print-card .card-description-english {
        grid-row: 1 !important;
        font-size: 10.4pt !important;
    }

    .programmes-exchange-print-wrapper .exchange-card.print-card .card-description-chinese {
        grid-row: 2 !important;
        font-size: 9.5pt !important;
        margin-top: 0.023in !important;
    }

    .programmes-exchange-print-wrapper .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card .card-number-row,
    .programmes-exchange-print-wrapper .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card .card-description-english,
    .programmes-exchange-print-wrapper .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card .card-description-chinese {
        grid-column: 1 !important;
        grid-row: auto !important;
        text-align: center !important;
    }

    .programmes-exchange-print-wrapper .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card .card-big-number {
        font-size: 36pt !important;
    }

    .programmes-exchange-print-wrapper .exchange-cards-grid[style*="repeat(2"] .exchange-card.print-card .card-prefix-gold:not(.card-prefix-location) {
        font-size: 25pt !important;
    }

    .programmes-exchange-print-wrapper .card-prefix-gold.card-prefix-location {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 0.016in !important;
        margin-right: 0.047in !important;
        transform: translateY(-0.05in) !important;
        font-size: 8.4pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .programmes-exchange-print-wrapper .card-prefix-location .prefix-en,
    .programmes-exchange-print-wrapper .card-prefix-location .prefix-zh {
        font-size: 8.4pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .programmes-print-content {
        gap: 0.078in !important;
    }

    .print-subheading-en,
    .print-subheading-zh {
        color: var(--cuhk-classic-purple) !important;
        font-weight: 700 !important;
    }

    .print-subheading-en {
        font-size: 14pt !important;
    }

    .print-subheading-zh {
        font-size: 13pt !important;
    }

    .programmes-intro-block p {
        color: #111111 !important;
        font-size: 8.1pt !important;
        line-height: 1.24 !important;
        font-weight: 600 !important;
    }

    .medicine-highlight-section {
        display: flex !important;
        align-items: stretch !important;
        gap: 0 !important;
        margin-bottom: 0.156in !important;
        background: #ffffff !important;
        border: none !important;
        min-height: auto !important;
    }

    .medicine-info-left {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.156in !important;
        padding-right: 0.156in !important;
        background: #ffffff !important;
    }

    .medicine-icon-circle {
        width: 0.6in !important;
        height: 0.6in !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid var(--cuhk-classic-purple) !important;
        border-radius: 50% !important;
        margin-bottom: 0 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .medicine-icon-circle i {
        font-size: 18pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .medicine-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
        text-align: left !important;
    }

    .medicine-en,
    .medicine-sub-en,
    .medicine-zh,
    .medicine-sub-zh {
        color: var(--cuhk-classic-purple) !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .medicine-en,
    .medicine-sub-en {
        font-size: 11.9pt !important;
        margin-bottom: 0 !important;
    }

    .medicine-zh {
        font-size: 11.9pt !important;
    }

    .medicine-sub-zh {
        font-size: 9.7pt !important;
    }

    .medicine-highlight-box {
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        padding: 0.117in 0.195in !important;
        width: 4in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border-radius: 0 !important;
        flex: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .highlight-years-row {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.039in !important;
        margin-bottom: 0.039in !important;
    }

    .highlight-years-row .years-label {
        font-size: 11.9pt !important;
        font-weight: 500 !important;
        color: #ffffff !important;
    }

    .highlight-years-row .years-number {
        font-size: 42pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        color: #ffffff !important;
    }

    .highlight-years-row .years-unit {
        font-size: 15.1pt !important;
        font-weight: 600 !important;
        color: #ffffff !important;
    }

    .highlight-desc-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        margin-bottom: 0.062in !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
    }

    .highlight-desc-main-en {
        font-size: 10.8pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        margin-bottom: 0.039in !important;
        color: #ffffff !important;
    }

    .highlight-desc-zh {
        font-size: 11.9pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
    }

    .top-programmes-header-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.039in !important;
        margin-bottom: 0.094in !important;
    }

    .top-programmes-header-block p {
        margin: 0 !important;
        font-size: 9.2pt !important;
        line-height: 1.35 !important;
        color: #2f3133 !important;
    }

    .top-programmes-grid-print {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 0.156in !important;
        row-gap: 0.094in !important;
        margin-bottom: 0.117in !important;
    }

    .programme-item-print {
        display: flex !important;
        align-items: center !important;
        gap: 0.078in !important;
        border: 1px solid #e0e0e0 !important;
        padding: 0.062in 0.078in !important;
        min-height: 0.55in !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .programme-icon-circle {
        width: 0.35in !important;
        height: 0.35in !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0.8pt solid var(--cuhk-classic-purple) !important;
        border-radius: 50% !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .programme-icon-circle i {
        font-size: 13pt !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .programme-text {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .programme-en {
        font-size: 8.6pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        color: #333333 !important;
        margin-bottom: 1px !important;
    }

    .programme-zh {
        font-size: 8.6pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        line-height: 1.1 !important;
    }

    .zhizhen-block {
        margin-top: 0.078in !important;
        border-top: none !important;
        padding-top: 0 !important;
    }

    .zhizhen-block p {
        margin: 0 0 0.062in 0 !important;
        font-size: 9.2pt !important;
        line-height: 1.4 !important;
        color: #2f3133 !important;
    }

    .zhizhen-block .zhizhen-zh {
        font-weight: 500 !important;
    }

    /* Scholarships */
    .scholarships-print-content {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        padding: 0 !important;
    }

    body.printing-section .section[data-print-section="scholarships"]>.container,
    body.printing-all-sections .section[data-print-section="scholarships"]>.container {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.printing-section .section[data-print-section="scholarships"] .scholarships-body-test,
    body.printing-all-sections .section[data-print-section="scholarships"] .scholarships-body-test {
        display: none !important;
    }

    body.printing-section .section[data-print-section="scholarships"] .scholarships-print,
    body.printing-all-sections .section[data-print-section="scholarships"] .scholarships-print {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .scholarships-print-page {
        box-sizing: border-box !important;
        padding: 0.265in 0.156in 0.45in !important;
        min-height: calc(297mm - 20px) !important;
        display: flex !important;
        flex-direction: column !important;
        background: #ffffff !important;
        position: relative !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .scholarships-print-page .reference-print-heading {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.01in !important;
        margin: 0 0 0.125in !important;
        line-height: 1.06 !important;
    }

    .scholarships-print-page .reference-print-heading .heading-en {
        font-size: 20pt !important;
        line-height: 1.08 !important;
    }

    .scholarships-print-page .reference-print-heading .heading-zh {
        font-size: 18pt !important;
        line-height: 1.08 !important;
    }

    .scholarships-reference-subtitle {
        margin: 0 0 0.359in !important;
    }

    .scholarships-reference-subtitle p {
        margin: 0 !important;
        color: var(--cuhk-royal-gold) !important;
        font-size: 16.7pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .scholarships-reference-legend {
        display: flex !important;
        gap: 0.671in !important;
        margin-bottom: 0.351in !important;
    }

    .scholarships-reference-legend .legend-item {
        display: flex !important;
        gap: 0.094in !important;
        align-items: center !important;
    }

    .scholarships-reference-legend .legend-box {
        width: 0.34in !important;
        height: 0.34in !important;
        display: block !important;
        flex-shrink: 0 !important;
    }

    .scholarships-reference-legend .legend-box.purple {
        background: var(--cuhk-royal-purple) !important;
    }

    .scholarships-reference-legend .legend-box.gold {
        background: var(--cuhk-royal-gold) !important;
    }

    .scholarships-reference-legend .legend-item.awards i {
        color: var(--cuhk-royal-gold) !important;
        font-size: 0.38in !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
    }

    .scholarships-reference-legend strong {
        display: block !important;
        color: #111111 !important;
        font-size: 8.4pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .scholarships-reference-legend em {
        display: block !important;
        color: #111111 !important;
        font-style: normal !important;
        font-size: 7.8pt !important;
        font-weight: 400 !important;
        line-height: 1.1 !important;
    }

    .scholarships-reference-bars {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.437in !important;
        margin-top: 0 !important;
    }

    .scholarships-reference-row {
        display: grid !important;
        grid-template-columns: 2.12in 1fr !important;
        gap: 0.094in !important;
        align-items: center !important;
    }

    .scholarships-row-label {
        text-align: right !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .scholarships-row-label .row-amount {
        color: var(--cuhk-classic-purple) !important;
        display: block !important;
        font-size: 42pt !important;
        font-weight: 400 !important;
        line-height: 0.85 !important;
        font-family: 'Inter', sans-serif !important;
        margin-bottom: 0.031in !important;
    }

    .scholarships-row-label .row-category-en {
        display: block !important;
        color: #111111 !important;
        font-size: 10.3pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .scholarships-row-label .row-category-zh {
        display: block !important;
        color: #111111 !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .scholarships-row-measure {
        height: 0.45in !important;
        display: flex !important;
        align-items: center !important;
        background: transparent !important;
    }

    .scholarships-row-bar {
        display: block !important;
        width: var(--bar-width) !important;
        height: 100% !important;
        flex: 0 0 var(--bar-width) !important;
        background: var(--cuhk-classic-purple) !important;
    }

    .scholarships-row-awards {
        display: inline-block !important;
        margin-left: 0.094in !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
    }

    .scholarships-row-awards .awards-number {
        color: var(--cuhk-royal-gold) !important;
        font-size: 38pt !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        font-family: 'Inter', sans-serif !important;
    }

    .scholarships-row-awards .awards-sup {
        font-size: 15.1pt !important;
        color: var(--cuhk-royal-gold) !important;
        vertical-align: super !important;
        line-height: 0 !important;
        position: relative !important;
        top: -0.14in !important;
        margin-left: 0.01in !important;
    }

    .scholarships-reference-notes {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.351in !important;
        margin-top: auto !important;
        padding-top: 0.187in !important;
        color: #555555 !important;
        font-size: 7.3pt !important;
        line-height: 1.25 !important;
    }

    .notes-column {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.039in !important;
    }

    .scholarships-reference-notes .note-item {
        display: flex !important;
        gap: 0.047in !important;
        align-items: flex-start !important;
    }

    .scholarships-reference-notes .note-marker {
        font-weight: 700 !important;
        flex-shrink: 0 !important;
        width: 0.1in !important;
    }

    .scholarships-reference-notes .note-text p {
        margin: 0 !important;
    }

    .scholarships-print-source-note {
        margin: 0.12in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .scholarships-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    /* Alumni */
    .global-print-wrapper {
        padding: 0.328in 0.218in 0.094in !important;
        gap: 0.125in !important;
    }

    .global-print-wrapper .reference-print-heading {
        gap: 0.078in !important;
        margin: 0 !important;
    }

    .global-print-wrapper .reference-print-heading .heading-en {
        font-size: 20pt !important;
    }

    .global-print-wrapper .reference-print-heading .heading-zh {
        font-size: 18pt !important;
    }

    .global-stats-row {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.125in !important;
        border-bottom: none !important;
        padding: 0 !important;
    }

    .global-stat-item {
        min-height: 1.42in !important;
        border: 1px solid #e5e5e5 !important;
        background: #fafafa !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 0.125in 0.078in !important;
    }

    .global-stat-item .stat-value {
        color: var(--cuhk-classic-purple) !important;
        font-size: 35pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        margin-bottom: 0.062in !important;
    }

    .global-stat-item .stat-label-en,
    .global-stat-item .stat-label-zh {
        color: #111111 !important;
        font-size: 10.6pt !important;
        font-weight: 700 !important;
        line-height: 1.24 !important;
    }

    .global-footnotes {
        border-top: 0 !important;
        padding-top: 0 !important;
        display: flex !important;
        gap: 0.218in !important;
        color: #555555 !important;
        font-size: 7pt !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        margin-top: 0 !important;
    }

    .global-footnotes p {
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .global-map-page {
        padding: 0.078in 0.218in 0.234in !important;
        gap: 0.094in !important;
    }

    .global-map-page .reference-section-title {
        font-size: 17.3pt !important;
        margin: 0 0 0.15in 0 !important;
        line-height: 1.18 !important;
    }

    .global-map-page .reference-section-title span {
        margin-left: 0.047in !important;
    }

    .global-map-img {
        width: 100% !important;
        max-height: 4.1in !important;
        object-fit: contain !important;
        border: 0 !important;
    }

    .global-map-legend {
        display: grid !important;
        grid-template-columns: 0.18in 1fr !important;
        gap: 0.062in !important;
        align-items: center !important;
        color: var(--cuhk-classic-purple) !important;
        font-size: 9.3pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        margin: 0.12in 0 0.15in 0 !important;
    }

    .global-map-legend-marker {
        width: 0.16in !important;
        height: 0.16in !important;
        border-radius: 50% !important;
        background: var(--cuhk-classic-purple) !important;
        margin: 0 !important;
    }

    .global-map-legend-text {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 0.08in !important;
        min-width: 0 !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }

    .global-map-legend-text > div,
    .global-map-legend em {
        color: var(--cuhk-classic-purple) !important;
        font-style: normal !important;
        font-weight: 700 !important;
        display: inline-block !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }

    .cities-list {
        grid-template-rows: repeat(6, minmax(0.38in, auto)) !important;
        grid-auto-columns: minmax(1.05in, 1fr) !important;
        gap: 0.109in 0.172in !important;
        align-content: space-between !important;
        min-height: 3in !important;
    }

    .city-item {
        padding: 0 !important;
    }

    .city-name,
    .city-chinese {
        color: var(--cuhk-classic-purple) !important;
        font-size: 9.5pt !important;
        font-weight: 500 !important;
        line-height: 1.24 !important;
    }

    .global-print-source-note {
        margin: 0.12in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .global-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    /* CUHK Resources */
    .colleges-faculties-page,
    .staff-print-section,
    .facilities-bottom-section,
    .hostels-libraries-row,
    .sports-print-section {
        padding: 0.265in 0.156in 0.203in !important;
        min-height: calc(297mm - 20px) !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    .colleges-faculties-page::before,
    .staff-print-section::before,
    .facilities-bottom-section::before,
    .hostels-libraries-row::before,
    .sports-print-section::before {
        font-size: 19pt !important;
        font-weight: 700 !important;
        margin-bottom: 0.05in !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .colleges-faculties-page {
        padding: 0.265in 0.156in 0.203in !important;
    }

    .colleges-faculties-page::before {
        font-size: 22pt !important;
        margin-bottom: 0.05in !important;
    }

    .colleges-print-title,
    .faculties-print-title,
    .staff-print-title,
    .hostels-print-title,
    .campus-print-title,
    .museums-print-title,
    .sports-print-title {
        color: var(--cuhk-classic-purple) !important;
        font-size: 15.7pt !important;
        font-weight: 700 !important;
    }

    .colleges-faculties-page .colleges-print-title,
    .colleges-faculties-page .faculties-print-title {
        font-size: 15.7pt !important;
    }

    .colleges-print-title .title-zh,
    .faculties-print-title .title-zh,
    .staff-print-title .title-zh,
    .campus-print-title .title-zh,
    .sports-print-title .title-zh,
    .campus-print-title-zh,
    .museums-print-title-zh,
    .sports-print-title-zh,
    .hostels-print-title-zh {
        display: inline !important;
        color: var(--cuhk-classic-purple) !important;
        font-size: 13.8pt !important;
        font-weight: 700 !important;
        margin-left: 0.039in !important;
    }

    .colleges-faculties-page .colleges-print-title .title-zh,
    .colleges-faculties-page .faculties-print-title .title-zh {
        font-size: 13.8pt !important;
        margin-left: 0.039in !important;
    }

    .colleges-faculties-page .colleges-print-section {
        margin-bottom: 0.14in !important;
    }

    .colleges-faculties-page .colleges-print-header {
        margin-bottom: 0.22in !important;
    }

    .colleges-print-content {
        display: block !important;
    }

    .colleges-total-sidebar {
        display: none !important;
    }

    .colleges-print-timeline {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.078in !important;
        border: 0 !important;
        background: transparent !important;
    }

    .colleges-print-timeline .college-timeline-row {
        display: contents !important;
    }

    .colleges-print-timeline .college-timeline-cell {
        min-height: 0.85in !important;
        border: 1px solid #e5e5e5 !important;
        background: #fafafa !important;
        padding: 0.11in 0.078in !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .colleges-print-timeline .college-timeline-cell.empty {
        display: none !important;
    }

    .colleges-print-timeline .college-timeline-cell.special {
        background: var(--cuhk-classic-purple) !important;
    }

    .colleges-print-timeline .college-timeline-year {
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 0 0.01in 0 !important;
        color: var(--cuhk-classic-purple) !important;
        font-size: 18pt !important;
        font-weight: 700 !important;
        line-height: 0.95 !important;
    }

    .colleges-print-timeline .college-timeline-cell.special .college-timeline-year,
    .colleges-print-timeline .college-timeline-cell.special .college-timeline-name-en,
    .colleges-print-timeline .college-timeline-cell.special .college-timeline-name-zh {
        color: #ffffff !important;
    }

    .colleges-print-timeline .college-timeline-card {
        display: grid !important;
        grid-template-columns: 0.52in minmax(0, 1fr) !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 0.062in !important;
        width: 100% !important;
    }

    .colleges-print-timeline .college-timeline-emblem {
        width: 0.42in !important;
        height: 0.42in !important;
        justify-self: center !important;
        align-self: center !important;
    }

    .colleges-print-timeline .college-timeline-info {
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        text-align: center !important;
    }

    .colleges-print-timeline .college-timeline-card.no-emblem {
        display: flex !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .colleges-print-timeline .college-timeline-card.special .college-timeline-info {
        width: 100% !important;
    }

    .colleges-print-timeline .college-timeline-card.special .college-timeline-year {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin-bottom: 0.016in !important;
        color: #ffffff !important;
    }

    .colleges-print-timeline .college-timeline-name-en,
    .colleges-print-timeline .college-timeline-name-zh {
        color: #111111 !important;
        font-size: 9.3pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .colleges-print-timeline .college-timeline-card.special .college-timeline-name-en,
    .colleges-print-timeline .college-timeline-card.special .college-timeline-name-zh {
        font-size: 7.1pt !important;
        line-height: 1.05 !important;
    }

    .colleges-faculties-page .faculties-print-section {
        margin-top: 0.45in !important;
    }

    .faculties-print-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.078in !important;
        padding: 0 !important;
    }

    .faculty-print-item {
        min-height: 0.85in !important;
        border: 1px solid #e5e5e5 !important;
        background: #fafafa !important;
        display: grid !important;
        grid-template-columns: 0.56in minmax(0, 1fr) !important;
        align-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.09in 0.078in !important;
        gap: 0.062in !important;
        box-sizing: border-box !important;
    }

    .faculty-print-icon {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 0.44in !important;
        height: 0.44in !important;
        justify-self: center !important;
        align-self: center !important;
    }

    .faculty-print-text {
        grid-column: 2 !important;
        grid-row: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        text-align: center !important;
    }

    .faculty-print-name,
    .faculty-print-name-zh {
        color: #111111 !important;
        font-size: 9.2pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .staff-print-section {
        page-break-after: always !important;
        break-after: page !important;
    }

    .staff-print-content {
        display: block !important;
    }

    .staff-print-total {
        width: 100% !important;
        min-height: 0.55in !important;
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.14in !important;
        padding: 0.039in 0.15in !important;
        box-sizing: border-box !important;
        margin: 0 0 0.1in !important;
        border-radius: 4px !important;
    }

    .hostels-print-total {
        width: 100% !important;
        min-height: 0.55in !important;
        background: #DFD0AA !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.14in !important;
        padding: 0.039in 0.15in !important;
        box-sizing: border-box !important;
        margin: 0 0 0.1in !important;
        border-radius: 4px !important;
    }

    #facilities.facilities-section .facilities-print .staff-print-total .staff-total-number,
    .staff-print-total .staff-total-number {
        color: #ffffff !important;
        font-size: 26pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .hostels-total-number {
        color: #ffffff !important;
        font-size: 26pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    #facilities.facilities-section .facilities-print .staff-print-total .staff-total-label span,
    .staff-print-total .staff-total-label span,
    .hostels-total-label span {
        display: block !important;
        color: #ffffff !important;
        text-align: left !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .staff-print-grid {
        display: grid !important;
        grid-template-columns: 1fr 2fr !important;
        gap: 0.109in !important;
    }

    .teaching-staff-block,
    .staff-print-category-item,
    .hostel-print-item {
        border: 1px solid #e5e5e5 !important;
        background: #f4eff6 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .staff-categories-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.094in !important;
    }

    .staff-category-icon {
        display: none !important;
    }

    .teaching-total,
    .staff-category-total,
    .breakdown-count,
    .hostel-print-count {
        color: var(--cuhk-classic-purple) !important;
        font-size: 20pt !important;
        font-weight: 700 !important;
    }

    .hostels-print-section--staff {
        margin-top: 0.156in !important;
    }

    .hostels-print-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.094in !important;
    }

    .hostels-print-total {
        margin-top: 0 !important;
    }

    .facilities-bottom-section {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .campus-print-section {
        display: block !important;
        border: 0 !important;
        padding: 0 !important;
        margin-bottom: 0.234in !important;
    }

    .campus-print-content {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.117in !important;
        margin-bottom: 0.062in !important;
    }

    .campus-box {
        border: 1px solid #e0e0e0 !important;
        background: #f8f9fa !important;
        padding: 0.14in 0.195in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        min-height: 1.1in !important;
    }

    .campus-box-title {
        margin-bottom: 0.062in !important;
    }

    .campus-box-title .title-en {
        font-size: 11.9pt !important;
        font-weight: 700 !important;
        color: #2f3133 !important;
    }

    .campus-box-title .title-zh {
        font-size: 11.9pt !important;
        font-weight: 700 !important;
        color: #2f3133 !important;
    }

    .campus-box-value .value-row {
        display: flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 0.062in !important;
    }

    .campus-box-value .value-label-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        color: #2f3133 !important;
    }

    .campus-box-value .value-number {
        font-size: 48pt !important;
        font-weight: 700 !important;
        color: #b0a070 !important; /* Goldish/Brownish color from ref */
        line-height: 0.9 !important;
    }

    .campus-box-value .value-unit-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        font-size: 10.8pt !important;
        font-weight: 700 !important;
        color: #2f3133 !important;
    }

    .campus-footnote {
        font-size: 7pt !important;
        color: #6c7074 !important;
        margin-top: 0.062in !important;
        display: flex !important;
        gap: 0.234in !important;
    }

    .campus-print-source-note {
        margin: 0.06in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .campus-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    /* Museums & Galleries Section Redesign */
    .museums-print-section {
        margin-top: 0.195in !important;
        margin-bottom: 0.234in !important;
    }

    .museums-print-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(118, 67, 147, 0.22) !important;
        border-left: 0.047in solid var(--cuhk-classic-purple) !important;
    }

    .museum-card-print {
        border: 0 !important;
        border-right: 1px solid rgba(118, 67, 147, 0.14) !important;
        border-bottom: 1px solid rgba(118, 67, 147, 0.14) !important;
        background: #ffffff !important;
        padding: 0.109in 0.125in !important;
        break-inside: avoid !important;
    }

    .museum-card-print:nth-child(2n) {
        border-right: 0 !important;
    }

    .museum-title-en,
    .museum-title-zh {
        color: var(--cuhk-classic-purple) !important;
        font-size: 10.8pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .museum-title-zh {
        margin-bottom: 0.062in !important;
    }

    .museum-desc-en,
    .museum-desc-zh {
        color: #2f3133 !important;
        font-size: 9.2pt !important;
        line-height: 1.35 !important;
    }

    .museum-desc-en {
        margin-bottom: 0.062in !important;
        font-weight: 500 !important;
    }

    .museum-desc-zh {
        display: block !important;
        color: #666666 !important;
        font-weight: 400 !important;
        margin-top: 0.023in !important;
    }

    .museums-print-source-note {
        margin-top: 0.07in !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    .museums-print-source-note p {
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    .hostels-libraries-row {
        page-break-before: always !important;
        break-before: page !important;
        page-break-after: auto !important;
        break-after: auto !important;
        min-height: auto !important;
        display: block !important;
        padding-left: 0.156in !important;
        padding-right: 0.156in !important;
    }

    .libraries-print-section,
    .libraries-book-shape,
    .book-content {
        width: 100% !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .libraries-book-shape,
    .book-content {
        display: block !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .book-spine {
        display: none !important;
    }

    .libraries-print-title {
        color: var(--cuhk-classic-purple) !important;
        font-size: 14pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        margin-bottom: 0.094in !important;
    }

    .libraries-print-title .title-zh {
        color: var(--cuhk-classic-purple) !important;
        font-size: 13pt !important;
        font-weight: 700 !important;
        margin-left: 0.031in !important;
    }

    .libraries-header {
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        height: 0.7in !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.125in !important;
        margin-bottom: 0.14in !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .libraries-count,
    .libraries-label span {
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    .libraries-header .libraries-label .label-en,
    .libraries-header .libraries-label .label-zh {
        color: #ffffff !important;
    }

    .libraries-count {
        font-size: 38pt !important;
    }

    .libraries-names-list {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.07in !important;
        margin-bottom: 0.273in !important;
        background: #ffffff !important;
        padding: 0 !important;
    }

    .library-name-item,
    .library-stat-primary,
    .library-stat-item {
        border: 1px solid #e5e5e5 !important;
        background: #fafafa !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .library-name-item {
        min-height: 0.92in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.062in 0.07in !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
    }

    .library-name-content {
        display: grid !important;
        grid-template-columns: 0.42in minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 0.055in !important;
        width: 100% !important;
    }

    .print-lib-logo-img {
        display: block !important;
        width: 0.42in !important;
        height: 0.42in !important;
        object-fit: contain !important;
        justify-self: center !important;
        filter: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .library-name-text {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
    }

    .library-name-item .name-en,
    .library-name-item .name-zh {
        color: #111111 !important;
        font-size: 8.7pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .libraries-stats-section {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.086in !important;
        margin-top: 0.016in !important;
        padding-top: 0 !important;
    }

    .library-stat-row-pair {
        display: contents !important;
    }

    .library-stat-primary,
    .library-stat-item {
        min-height: 1.08in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.078in !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
    }

    .library-stat-primary .stat-value,
    .library-stat-item .stat-value {
        color: var(--cuhk-classic-purple) !important;
        font-size: 30pt !important;
        font-weight: 700 !important;
        line-height: 0.95 !important;
    }

    .library-stat-primary .stat-label,
    .library-stat-item .stat-label {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.01in !important;
        margin-top: 0.031in !important;
    }

    .library-stat-primary .stat-label .label-en,
    .library-stat-primary .stat-label .label-zh,
    .library-stat-item .stat-label .label-en,
    .library-stat-item .stat-label .label-zh {
        color: #111111 !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }

    .libraries-footnote {
        display: flex !important;
        gap: 0.14in !important;
        margin-top: 0.14in !important;
        color: #6c7074 !important;
        font-size: 7pt !important;
        line-height: 1.2 !important;
    }

    .libraries-footnote span {
        color: #6c7074 !important;
    }

    .libraries-print-source-note {
        margin-top: 0.047in !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    .libraries-print-source-note p {
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    .sports-print-section {
        page-break-before: always !important;
        break-before: page !important;
        page-break-after: auto !important;
        break-after: auto !important;
        min-height: auto !important;
        background: #ffffff !important;
    }

    .sports-print-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.117in !important;
        margin-top: 0.078in !important;
    }

    .sport-print-item {
        min-height: 1.1in !important;
        border: 1px solid #e0e0e0 !important;
        background: #ffffff !important;
        padding: 0.117in !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        break-inside: avoid !important;
    }

    .sport-print-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 0.062in !important;
    }

    .sport-print-count {
        color: var(--cuhk-classic-purple) !important;
        font-size: 28pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .sport-print-icon {
        width: 0.45in !important;
        height: 0.45in !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .sport-print-icon svg {
        width: 100% !important;
        height: 100% !important;
    }

    .sport-print-label {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.016in !important;
    }

    .sport-print-name-en {
        color: #2f3133 !important;
        font-size: 9.7pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .sport-print-name-zh {
        color: #666666 !important;
        font-size: 9.2pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .sports-print-footnote {
        margin-top: 0.156in !important;
        display: flex !important;
        gap: 0.234in !important;
    }

    .sports-print-footnote p {
        font-size: 7pt !important;
        color: #666666 !important;
        margin: 0 !important;
    }

    .sports-print-source-note {
        margin-top: 0.07in !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    .sports-print-source-note p {
        margin: 0 !important;
        color: #6c7074 !important;
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    /* CUHK Resources - staff and hostels reference layout */
    .staff-print-section {
        padding: 0.265in 0.156in !important;
        min-height: calc(297mm - 20px) !important;
        page-break-after: always !important;
        break-after: page !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    .staff-print-section::before {
        margin-bottom: 0.14in !important;
        font-size: 19pt !important;
        font-weight: 700 !important;
        line-height: 1.08 !important;
        color: var(--cuhk-classic-purple) !important;
    }

    .staff-print-header,
    .hostels-print-header,
    .campus-print-header,
    .sports-print-header {
        display: block !important;
        margin: 0 0 0.22in !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .staff-print-title,
    .hostels-print-title {
        color: var(--cuhk-classic-purple) !important;
        font-size: 14pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
    }

    .staff-print-title .title-zh,
    .hostels-print-title .title-zh {
        display: inline !important;
        margin: 0 0 0 0.039in !important;
        color: var(--cuhk-classic-purple) !important;
        font-size: 13pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .staff-print-content,
    .staff-print-main {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        background: #ffffff !important;
    }

    .staff-total-sidebar,
    .hostels-print-total {
        width: 100% !important;
        min-height: 0.62in !important;
        margin: 0 0 0.109in !important;
        padding: 0.055in 0.172in !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.187in !important;
        box-sizing: border-box !important;
        background: var(--cuhk-classic-purple) !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .staff-total-number,
    .hostels-total-number {
        order: 0 !important;
        color: #ffffff !important;
        font-size: 34pt !important;
        font-weight: 700 !important;
        line-height: 0.95 !important;
        letter-spacing: 0.01em !important;
        font-family: Arial, Helvetica, sans-serif !important;
    }

    .staff-total-label,
    .hostels-total-label {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 0 !important;
        min-width: 1.7in !important;
    }

    .staff-total-sidebar .total-label,
    .staff-total-sidebar .total-unit,
    .hostels-total-label span {
        color: #ffffff !important;
        font-size: 10.3pt !important;
        font-weight: 700 !important;
        line-height: 1.12 !important;
        text-align: left !important;
        letter-spacing: 0 !important;
    }

    .staff-print-grid {
        display: grid !important;
        grid-template-columns: 1fr 2fr !important;
        gap: 0.117in !important;
        align-items: stretch !important;
        margin: 0 !important;
    }

    .teaching-staff-block,
    .staff-print-category-item,
    .hostel-print-item {
        border: 1px solid #e3e3e3 !important;
        border-radius: 0 !important;
        background: var(--cuhk-milky-purple) !important;
        box-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .teaching-staff-block {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-height: 2.55in !important;
        padding: 0.14in 0.14in 0.125in !important;
    }

    .teaching-header {
        display: block !important;
        margin: 0 0 0.14in !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: center !important;
    }

    .teaching-icon,
    .staff-category-icon {
        display: none !important;
    }

    .teaching-title-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .teaching-total,
    .staff-category-total,
    .breakdown-count,
    .hostel-print-count {
        color: var(--cuhk-classic-purple) !important;
        font-size: 21pt !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        font-family: Arial, Helvetica, sans-serif !important;
    }

    .teaching-total {
        order: -1 !important;
        font-size: 28pt !important;
        margin: 0 0 0.016in !important;
    }

    .teaching-title {
        color: #111111 !important;
        font-size: 9.2pt !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        text-align: center !important;
    }

    .teaching-title .title-zh {
        display: block !important;
        margin: 0 !important;
        color: #111111 !important;
        font-size: 8.6pt !important;
        font-weight: 700 !important;
    }

    .teaching-breakdown {
        gap: 0.094in !important;
    }

    .teaching-breakdown-item {
        display: grid !important;
        grid-template-columns: 0.48in minmax(0, 1fr) !important;
        gap: 0.078in !important;
        align-items: center !important;
    }

    .breakdown-count {
        min-width: 0 !important;
        text-align: right !important;
    }

    .breakdown-label .label-en,
    .breakdown-label .label-zh,
    .staff-category-label .label-en,
    .staff-category-label .label-zh,
    .hostel-print-name,
    .hostel-print-name-zh {
        color: #111111 !important;
        font-size: 7.8pt !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    .breakdown-label {
        align-items: flex-start !important;
    }

    .breakdown-label .label-en,
    .breakdown-label .label-zh {
        text-align: left !important;
    }

    .staff-categories-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.094in !important;
    }

    .staff-print-category-item {
        min-height: 0.77in !important;
        padding: 0.094in 0.062in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .staff-category-total {
        margin: 0 0 0.031in !important;
    }

    .staff-as-of-date,
    .hostels-as-of-date {
        display: flex !important;
        gap: 0.203in !important;
        margin: 0.062in 0 0 !important;
        color: #6c7074 !important;
        font-size: 6.8pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
    }

    .hostels-print-source-note {
        margin: 0.06in 0 0 !important;
        color: #6c7074 !important;
        font-size: 7.1pt !important;
        font-style: normal !important;
        line-height: 1.2 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
    }

    .hostels-print-source-note p {
        margin: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.2 !important;
    }

    .hostels-print-section--staff {
        margin: 0.234in 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .hostels-print-subheader {
        display: none !important;
    }

    .hostels-print-total {
        margin-bottom: 0.109in !important;
        min-height: 0.62in !important;
        padding: 0.055in 0.172in !important;
        gap: 0.187in !important;
    }

    .hostels-total-number {
        color: #ffffff !important;
        font-size: 34pt !important;
    }

    .hostels-total-label .label-en,
    .hostels-total-label .label-zh {
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    .hostels-total-label .label-en {
        font-size: 10.3pt !important;
    }

    .hostels-total-label .label-zh {
        font-size: 10.3pt !important;
    }

    .hostels-print-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.094in !important;
        border: 0 !important;
        margin: 0 !important;
    }

    .hostel-print-item {
        min-height: 0.62in !important;
        padding: 0.07in 0.047in !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 0.016in !important;
    }

    .hostel-print-count {
        order: -1 !important;
        font-size: 19pt !important;
    }

    .hostel-print-name,
    .hostel-print-name-zh {
        margin: 0 !important;
    }

    .hostel-print-item:nth-child(3n),
    .hostel-print-item:nth-child(4n),
    .hostel-print-item:nth-last-child(-n+3) {
        border: 1px solid #e3e3e3 !important;
    }

    [class*="source-note"],
    [class*="source-note"] p {
        font-size: 7pt !important;
    }

    /* Section-only printing must fit printer preview areas that are slightly
       smaller than the CSS A4 canvas, otherwise page-sized blocks can spill
       into a trailing blank sheet. Keep full-page sizing for booklet print. */
    body.printing-section .research-print-wrapper,
    body.printing-section .students-print-wrapper,
    body.printing-section .programmes-exchange-print-wrapper .print-page,
    body.printing-section .labs-print,
    body.printing-section .labs-print-container,
    body.printing-section .scholarships-print-page,
    body.printing-section .global-print-wrapper,
    body.printing-section .global-map-page,
    body.printing-section #gba-timeline-print,
    body.printing-section .colleges-faculties-page,
    body.printing-section .staff-print-section,
    body.printing-section .facilities-bottom-section,
    body.printing-section .hostels-libraries-row,
    body.printing-section .sports-print-section,
    body.printing-section .achievements-print {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.printing-section .programmes-exchange-print-wrapper > :last-child,
    body.printing-section .facilities-bottom-section > :last-child,
    body.printing-section #gba-timeline-print > :last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    body.printing-section[data-active-print-section="research"] .research-print-wrapper,
    body.printing-section[data-active-print-section="labs"] .section.print-active[data-print-section="labs"],
    body.printing-section[data-active-print-section="labs"] .section.print-active[data-print-section="labs"] > .container,
    body.printing-section[data-active-print-section="labs"] .labs-print,
    body.printing-section[data-active-print-section="labs"] .labs-print-container {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.printing-section .section.print-active,
    body.printing-section .achievements-section,
    body.printing-section .programmes-exchange-section,
    body.printing-section .students-section,
    body.printing-section .research-section,
    body.printing-section .scholarships-section,
    body.printing-section .gba-section,
    body.printing-section .labs-section {
        page: auto !important;
    }
}
