/*
 * ResultPro — Postgraduate Public Payment Portal Abstract-Art Theme
 * Version: 128 (11 July 2026)
 *
 * Presentation-only layer for every page under:
 * /postgraduate/application-payment/
 *
 * It uses the same uploaded abstract artwork and colour family as the
 * postgraduate landing page and authenticated student portal. Payment
 * forms, URLs, validation, invoice generation and verification logic are
 * deliberately untouched.
 */

:root {
    --rp-pay-navy-950: #082b3f;
    --rp-pay-navy-900: #0d3851;
    --rp-pay-navy-800: #164e6b;
    --rp-pay-blue-700: #2d708c;
    --rp-pay-blue-500: #70a9bd;
    --rp-pay-sky-200: #c9e0e6;
    --rp-pay-cream-50: #fffaf1;
    --rp-pay-cream-100: #f7ead6;
    --rp-pay-amber-500: #dc8b2c;
    --rp-pay-amber-600: #c87020;
    --rp-pay-copper-600: #a95231;
    --rp-pay-copper-700: #813b2a;
    --rp-pay-ink: #173042;
    --rp-pay-muted: #526979;
    --rp-pay-line: rgba(22, 78, 107, .23);
    --rp-pay-white-line: rgba(255, 255, 255, .60);
    --rp-pay-shadow: 0 22px 54px rgba(3, 27, 42, .24);
    --rp-pay-soft-shadow: 0 12px 30px rgba(3, 27, 42, .16);
    --rp-pay-art: url("../img/pg_abstract_background.249b3dc66a53.png");
}

@media screen {
    html {
        min-height: 100%;
        background: var(--rp-pay-navy-950);
    }

    body.pg-pay-body,
    body.pg-verification-body {
        min-height: 100vh;
        margin: 0 !important;
        color: var(--rp-pay-ink) !important;
        background-image:
            linear-gradient(135deg, rgba(8, 43, 63, .91), rgba(22, 78, 107, .72) 48%, rgba(169, 82, 49, .72)),
            var(--rp-pay-art) !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center !important;
        background-attachment: fixed !important;
        font-family: Arial, Helvetica, sans-serif;
    }

    body.pg-pay-body::before,
    body.pg-verification-body::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
            radial-gradient(circle at 12% 8%, rgba(255, 235, 196, .27), transparent 28%),
            radial-gradient(circle at 88% 88%, rgba(112, 169, 189, .27), transparent 31%);
    }

    /* =============================================================
       Shared public payment shell, header and navigation
       ============================================================= */
    body.pg-pay-body .pg-pay-shell {
        width: min(1540px, calc(100% - 28px)) !important;
        min-height: calc(100vh - 28px) !important;
        margin: 14px auto !important;
        overflow: visible !important;
        border: 1px solid var(--rp-pay-white-line) !important;
        border-radius: 24px !important;
        background: rgba(246, 249, 249, .80) !important;
        box-shadow: 0 30px 82px rgba(0, 16, 29, .40) !important;
        backdrop-filter: blur(17px) saturate(116%);
        -webkit-backdrop-filter: blur(17px) saturate(116%);
    }

    body.pg-pay-body .pg-pay-header {
        position: relative;
        isolation: isolate;
        min-height: 126px !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 24px !important;
        padding: 18px 30px !important;
        overflow: hidden;
        text-align: left !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 23px 23px 0 0 !important;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .97), rgba(12, 58, 81, .83) 53%, rgba(133, 63, 36, .71)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 45% !important;
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .30) !important;
    }

    body.pg-pay-body .pg-pay-header::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
            radial-gradient(circle at 76% 10%, rgba(255, 231, 185, .27), transparent 24%),
            linear-gradient(90deg, transparent 0 67%, rgba(255, 221, 163, .10));
    }

    body.pg-pay-body .pg-pay-header h1 {
        margin: 0 !important;
        color: #fff !important;
        font-size: clamp(28px, 3vw, 41px) !important;
        line-height: 1.02 !important;
        font-weight: 950 !important;
        letter-spacing: -.02em;
        text-shadow: 0 3px 15px rgba(0, 13, 23, .50);
    }

    body.pg-pay-body .pg-pay-header h2 {
        margin: 6px 0 0 !important;
        color: #ffdda3 !important;
        font-size: clamp(18px, 1.8vw, 25px) !important;
        line-height: 1.08 !important;
        font-weight: 750 !important;
    }

    body.pg-pay-body .pg-pay-header img,
    body.pg-pay-body .pg-pay-shell img {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        max-height: 92px !important;
        padding: 4px !important;
        object-fit: contain !important;
        border: 3px solid rgba(255, 221, 163, .92) !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 14px 34px rgba(0, 18, 31, .35) !important;
    }

    body.pg-pay-body .pg-pay-nav {
        min-height: 52px !important;
        padding: 6px 14px !important;
        gap: 7px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .30) !important;
        color: #fff !important;
        background-image:
            linear-gradient(105deg, rgba(8, 43, 63, .98), rgba(22, 78, 107, .94), rgba(129, 59, 42, .92)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 60% !important;
        box-shadow: 0 8px 23px rgba(3, 27, 42, .19) !important;
    }

    body.pg-pay-body .pg-pay-nav > a,
    body.pg-pay-body .pg-pay-menu > a {
        min-height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 8px 11px !important;
        border: 1px solid transparent !important;
        border-radius: 11px !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        text-decoration: none !important;
        transition: background .18s ease, border-color .18s ease, transform .18s ease;
    }

    body.pg-pay-body .pg-pay-nav > a:hover,
    body.pg-pay-body .pg-pay-nav > a:focus-visible,
    body.pg-pay-body .pg-pay-menu:hover > a,
    body.pg-pay-body .pg-pay-menu:focus-within > a {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .60) !important;
        background: linear-gradient(110deg, rgba(220, 139, 44, .84), rgba(169, 82, 49, .80)) !important;
        transform: translateY(-1px);
        outline: none;
    }

    body.pg-pay-body .rp-pay-nav-sep {
        color: rgba(255, 255, 255, .35) !important;
    }

    body.pg-pay-body .pg-pay-submenu,
    body.pg-pay-body .pg-pay-submenu-right {
        min-width: 275px !important;
        padding: 8px !important;
        overflow: hidden !important;
        border: 1px solid rgba(255, 255, 255, .72) !important;
        border-top: 4px solid var(--rp-pay-amber-500) !important;
        border-radius: 0 0 16px 16px !important;
        background-image:
            linear-gradient(130deg, rgba(255, 250, 241, .97), rgba(201, 224, 230, .94)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: 0 20px 48px rgba(3, 27, 42, .28) !important;
        backdrop-filter: blur(13px);
        -webkit-backdrop-filter: blur(13px);
    }

    body.pg-pay-body .pg-pay-submenu a {
        min-height: 0 !important;
        margin: 0 0 4px !important;
        padding: 10px 11px !important;
        color: var(--rp-pay-navy-950) !important;
        border: 1px solid rgba(22, 78, 107, .13) !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .84) !important;
        font-weight: 850 !important;
        text-decoration: none !important;
    }

    body.pg-pay-body .pg-pay-submenu a:hover,
    body.pg-pay-body .pg-pay-submenu a:focus-visible {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .62) !important;
        background: linear-gradient(110deg, var(--rp-pay-navy-800), var(--rp-pay-copper-600)) !important;
        outline: none;
    }

    /* =============================================================
       Payment page content, cards and notices
       ============================================================= */
    body.pg-pay-body .pg-pay-main {
        padding: 20px 22px 32px !important;
        border-radius: 0 0 23px 23px;
        background:
            linear-gradient(180deg, rgba(255, 250, 241, .50), rgba(201, 224, 230, .28)) !important;
    }

    body.pg-pay-body .pg-pay-two {
        grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr) !important;
        gap: 18px !important;
    }

    body.pg-pay-body .pg-pay-notice,
    body.pg-pay-body .pg-pay-alert,
    body.pg-pay-body .pg-pay-card,
    body.pg-pay-body .pg-invoice-box,
    body.pg-pay-body .pg-pay-table-wrap,
    body.pg-pay-body .pg-verification-result-card {
        border: 1px solid var(--rp-pay-white-line) !important;
        color: var(--rp-pay-ink) !important;
        background-image:
            linear-gradient(130deg, rgba(255, 250, 241, .95), rgba(235, 244, 245, .91) 60%, rgba(247, 234, 214, .93)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: var(--rp-pay-soft-shadow) !important;
        backdrop-filter: blur(13px);
        -webkit-backdrop-filter: blur(13px);
    }

    body.pg-pay-body .pg-pay-card {
        position: relative;
        overflow: hidden;
        padding: 18px !important;
        border-radius: 19px !important;
    }

    body.pg-pay-body .pg-pay-card::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(circle at 92% 6%, rgba(220, 139, 44, .17), transparent 29%);
    }

    body.pg-pay-body .pg-pay-card > * {
        position: relative;
        z-index: 1;
    }

    body.pg-pay-body .pg-pay-notice,
    body.pg-pay-body .pg-pay-alert {
        padding: 13px 15px !important;
        border-left: 6px solid var(--rp-pay-amber-500) !important;
        border-radius: 15px !important;
    }

    body.pg-pay-body .pg-pay-alert.success {
        border-left-color: #15803d !important;
        color: #14532d !important;
    }

    body.pg-pay-body .pg-pay-alert.error {
        border-left-color: #b91c1c !important;
        color: #8f1d1d !important;
    }

    body.pg-pay-body .pg-pay-reload-note {
        border-color: rgba(220, 139, 44, .55) !important;
        color: var(--rp-pay-navy-950) !important;
        background: rgba(255, 250, 241, .94) !important;
    }

    body.pg-pay-body .pg-pay-card h3,
    body.pg-pay-body .pg-pay-action-panel h3,
    body.pg-pay-body .pg-invoice-box h3 {
        color: var(--rp-pay-navy-950) !important;
        font-weight: 950 !important;
    }

    body.pg-pay-body .pg-pay-card h4,
    body.pg-pay-body .pg-pay-subtitle,
    body.pg-pay-body .pg-pay-setup-head,
    body.pg-pay-body .pg-pay-red-title,
    body.pg-pay-body .pg-verification-title,
    body.pg-pay-body .pg-verification-box-title {
        color: #fff !important;
        border: 1px solid rgba(255, 255, 255, .38) !important;
        border-radius: 12px !important;
        background-image:
            linear-gradient(105deg, rgba(13, 56, 81, .96), rgba(45, 112, 140, .90), rgba(169, 82, 49, .88)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 55% !important;
        box-shadow: 0 8px 20px rgba(3, 27, 42, .16) !important;
        text-shadow: 0 1px 5px rgba(0, 12, 22, .34);
    }

    body.pg-pay-body .pg-pay-subtitle,
    body.pg-pay-body .pg-pay-card h4 {
        padding: 9px 12px !important;
    }

    body.pg-pay-body .pg-pay-red,
    body.pg-pay-body .pg-pay-card b,
    body.pg-pay-body .pg-pay-red-title {
        color: var(--rp-pay-copper-700) !important;
    }

    body.pg-pay-body .pg-pay-red-title {
        color: #fff !important;
        padding: 10px 12px !important;
    }

    body.pg-pay-body .pg-pay-card li,
    body.pg-pay-body .pg-pay-card p,
    body.pg-pay-body .pg-invoice-box p {
        color: var(--rp-pay-ink) !important;
        line-height: 1.48 !important;
    }

    body.pg-pay-body .pg-pay-setup {
        border: 1px solid rgba(255, 255, 255, .68) !important;
        background-image:
            linear-gradient(135deg, rgba(246, 252, 252, .94), rgba(247, 234, 214, .91)),
            var(--rp-pay-art) !important;
        box-shadow: var(--rp-pay-shadow) !important;
    }

    body.pg-pay-body .pg-account-creation-note {
        margin-top: 13px;
        padding: 12px 13px;
        border: 1px solid rgba(220, 139, 44, .45);
        border-left: 5px solid var(--rp-pay-amber-500);
        border-radius: 13px;
        color: var(--rp-pay-navy-950);
        background: rgba(255, 250, 241, .88);
    }

    /* =============================================================
       Forms and controls
       ============================================================= */
    body.pg-pay-body .pg-pay-form label,
    body.pg-pay-body .pg-pay-search label {
        color: var(--rp-pay-navy-950) !important;
        font-weight: 900 !important;
    }

    body.pg-pay-body .pg-pay-form label span {
        color: var(--rp-pay-copper-600) !important;
    }

    body.pg-pay-body .pg-pay-input,
    body.pg-pay-body .pg-pay-form input,
    body.pg-pay-body .pg-pay-form select,
    body.pg-pay-body .pg-pay-form textarea,
    body.pg-pay-body .pg-pay-search input,
    body.pg-pay-body .pg-pay-search select {
        width: 100%;
        min-height: 42px !important;
        padding: 9px 11px !important;
        color: var(--rp-pay-ink) !important;
        border: 1px solid rgba(22, 78, 107, .34) !important;
        border-radius: 11px !important;
        background: rgba(255, 255, 255, .93) !important;
        box-shadow: inset 0 1px 3px rgba(3, 27, 42, .07);
        outline: none;
    }

    body.pg-pay-body .pg-pay-input:focus,
    body.pg-pay-body .pg-pay-form input:focus,
    body.pg-pay-body .pg-pay-form select:focus,
    body.pg-pay-body .pg-pay-form textarea:focus,
    body.pg-pay-body .pg-pay-search input:focus,
    body.pg-pay-body .pg-pay-search select:focus {
        border-color: var(--rp-pay-amber-500) !important;
        box-shadow: 0 0 0 4px rgba(220, 139, 44, .17) !important;
    }

    body.pg-pay-body .pg-pay-error {
        color: #9f1d1d !important;
    }

    body.pg-pay-body .pg-pay-btn,
    body.pg-pay-body .pg-verification-continue {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 40px !important;
        padding: 9px 15px !important;
        border: 1px solid rgba(22, 78, 107, .28) !important;
        border-radius: 999px !important;
        color: var(--rp-pay-navy-950) !important;
        background: rgba(255, 250, 241, .92) !important;
        box-shadow: 0 7px 17px rgba(3, 27, 42, .11);
        font-weight: 900 !important;
        text-decoration: none !important;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }

    body.pg-pay-body .pg-pay-btn.primary,
    body.pg-pay-body button.pg-pay-btn.primary,
    body.pg-pay-body .pg-verification-continue {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .45) !important;
        background-image:
            linear-gradient(110deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700) 60%, var(--rp-pay-copper-600)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
    }

    body.pg-pay-body .pg-pay-btn:hover,
    body.pg-pay-body .pg-pay-btn:focus-visible,
    body.pg-pay-body .pg-verification-continue:hover,
    body.pg-pay-body .pg-verification-continue:focus-visible {
        color: #fff !important;
        background: linear-gradient(110deg, var(--rp-pay-amber-500), var(--rp-pay-copper-600)) !important;
        box-shadow: 0 11px 24px rgba(3, 27, 42, .19) !important;
        transform: translateY(-1px);
        outline: none;
    }

    /* =============================================================
       Payment-option badges, invoices and tables
       ============================================================= */
    body.pg-pay-body .pg-payment-options,
    body.pg-pay-body .pg-remita-banner {
        border: 1px solid rgba(255, 255, 255, .66) !important;
        border-radius: 15px !important;
        background-image:
            linear-gradient(125deg, rgba(255, 250, 241, .94), rgba(201, 224, 230, .91)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        box-shadow: var(--rp-pay-soft-shadow) !important;
    }

    body.pg-pay-body .pg-payment-options strong,
    body.pg-pay-body .pg-remita-label {
        color: var(--rp-pay-navy-950) !important;
    }

    body.pg-pay-body .pg-payment-options span,
    body.pg-pay-body .pg-remita-banner span {
        color: #fff !important;
        border: 1px solid rgba(255, 255, 255, .30) !important;
        border-radius: 9px !important;
        background: linear-gradient(115deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700)) !important;
    }

    body.pg-pay-body .pg-payment-options span:nth-child(3),
    body.pg-pay-body .pg-payment-options span:nth-child(6),
    body.pg-pay-body .pg-remita-banner span:nth-of-type(2),
    body.pg-pay-body .pg-remita-banner span:nth-of-type(5) {
        color: #fff !important;
        background: linear-gradient(115deg, var(--rp-pay-amber-500), var(--rp-pay-copper-600)) !important;
    }

    body.pg-pay-body .pg-invoice-box {
        padding: 15px !important;
        border-radius: 14px !important;
    }

    body.pg-pay-body .pg-pay-table-wrap {
        overflow-x: auto;
        border-radius: 15px !important;
    }

    body.pg-pay-body .pg-pay-table-wrap table {
        background: rgba(255, 255, 255, .72) !important;
    }

    body.pg-pay-body .pg-pay-table-wrap th {
        color: #fff !important;
        border-bottom: 1px solid rgba(255, 255, 255, .36) !important;
        background-image:
            linear-gradient(105deg, rgba(8, 43, 63, .98), rgba(45, 112, 140, .94), rgba(129, 59, 42, .91)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
    }

    body.pg-pay-body .pg-pay-table-wrap td {
        color: var(--rp-pay-ink) !important;
        border-bottom: 1px solid rgba(22, 78, 107, .14) !important;
        background: rgba(255, 255, 255, .58) !important;
    }

    body.pg-pay-body .pg-pay-table-wrap tbody tr:nth-child(even) td {
        background: rgba(201, 224, 230, .32) !important;
    }

    body.pg-pay-body .pg-pay-table-wrap a {
        color: var(--rp-pay-copper-700) !important;
        font-weight: 900;
    }

    /* Existing verification layout that extends the shared payment base */
    body.pg-pay-body .pg-verification-guidelines,
    body.pg-pay-body .pg-verification-left,
    body.pg-pay-body .pg-verification-box {
        border-color: rgba(255, 255, 255, .65) !important;
        border-radius: 17px !important;
        background-image:
            linear-gradient(130deg, rgba(255, 250, 241, .94), rgba(235, 244, 245, .91)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        box-shadow: var(--rp-pay-soft-shadow) !important;
    }

    body.pg-pay-body .pg-verification-label,
    body.pg-pay-body .pg-verification-input .pg-pay-input,
    body.pg-pay-body .pg-verification-input input {
        border-color: rgba(22, 78, 107, .32) !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .91) !important;
    }

    /* =============================================================
       Standalone payment-verification upload/status page
       ============================================================= */
    body.pg-verification-body .pg-wrap {
        width: min(1240px, calc(100% - 28px)) !important;
        max-width: none !important;
        margin: 14px auto !important;
        padding: 0 !important;
    }

    body.pg-verification-body > .pg-wrap > .pg-card {
        overflow: hidden !important;
        margin: 0 !important;
        border: 1px solid var(--rp-pay-white-line) !important;
        border-radius: 24px !important;
        background: rgba(247, 250, 249, .82) !important;
        box-shadow: 0 30px 82px rgba(0, 16, 29, .40) !important;
        backdrop-filter: blur(17px) saturate(116%);
        -webkit-backdrop-filter: blur(17px) saturate(116%);
    }

    body.pg-verification-body .pg-head {
        position: relative;
        isolation: isolate;
        padding: 25px 28px !important;
        color: #fff !important;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .97), rgba(12, 58, 81, .83) 53%, rgba(133, 63, 36, .71)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 45% !important;
    }

    body.pg-verification-body .pg-head::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background: radial-gradient(circle at 80% 12%, rgba(255, 231, 185, .27), transparent 25%);
    }

    body.pg-verification-body .pg-head h1 {
        margin: 0 !important;
        color: #fff !important;
        font-size: clamp(27px, 3.4vw, 42px) !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
        text-shadow: 0 3px 15px rgba(0, 13, 23, .48);
    }

    body.pg-verification-body .pg-head p {
        color: #ffdda3 !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    body.pg-verification-body .pg-body {
        padding: 22px !important;
        background: linear-gradient(180deg, rgba(255, 250, 241, .55), rgba(201, 224, 230, .30)) !important;
    }

    body.pg-verification-body .pg-grid {
        gap: 18px !important;
    }

    body.pg-verification-body .pg-grid > div,
    body.pg-verification-body .pg-grid .pg-card {
        border: 1px solid var(--rp-pay-white-line) !important;
        border-radius: 18px !important;
        background-image:
            linear-gradient(130deg, rgba(255, 250, 241, .94), rgba(235, 244, 245, .91) 62%, rgba(247, 234, 214, .92)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        box-shadow: var(--rp-pay-soft-shadow) !important;
    }

    body.pg-verification-body .pg-grid > div:first-child {
        padding: 18px !important;
    }

    body.pg-verification-body .pg-grid .pg-card {
        overflow: hidden !important;
    }

    body.pg-verification-body label {
        color: var(--rp-pay-navy-950) !important;
        font-weight: 900 !important;
    }

    body.pg-verification-body input,
    body.pg-verification-body select,
    body.pg-verification-body textarea {
        min-height: 43px !important;
        color: var(--rp-pay-ink) !important;
        border: 1px solid rgba(22, 78, 107, .34) !important;
        border-radius: 11px !important;
        background: rgba(255, 255, 255, .94) !important;
        outline: none;
    }

    body.pg-verification-body input:focus,
    body.pg-verification-body select:focus,
    body.pg-verification-body textarea:focus {
        border-color: var(--rp-pay-amber-500) !important;
        box-shadow: 0 0 0 4px rgba(220, 139, 44, .17) !important;
    }

    body.pg-verification-body button,
    body.pg-verification-body .pg-btn {
        min-height: 40px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(22, 78, 107, .27) !important;
        color: var(--rp-pay-navy-950) !important;
        background: rgba(255, 250, 241, .93) !important;
        box-shadow: 0 7px 17px rgba(3, 27, 42, .12);
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }

    body.pg-verification-body .pg-primary,
    body.pg-verification-body button.pg-primary {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .46) !important;
        background: linear-gradient(110deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700), var(--rp-pay-copper-600)) !important;
    }

    body.pg-verification-body .pg-gold {
        color: #fff !important;
        background: linear-gradient(110deg, var(--rp-pay-amber-500), var(--rp-pay-copper-600)) !important;
    }

    body.pg-verification-body .pg-soft,
    body.pg-verification-body .pg-home {
        color: var(--rp-pay-navy-950) !important;
        border-color: rgba(220, 139, 44, .50) !important;
        background: rgba(255, 250, 241, .92) !important;
    }

    body.pg-verification-body button:hover,
    body.pg-verification-body .pg-btn:hover,
    body.pg-verification-body button:focus-visible,
    body.pg-verification-body .pg-btn:focus-visible {
        color: #fff !important;
        background: linear-gradient(110deg, var(--rp-pay-amber-500), var(--rp-pay-copper-600)) !important;
        box-shadow: 0 11px 24px rgba(3, 27, 42, .20) !important;
        transform: translateY(-1px);
        outline: none;
    }

    body.pg-verification-body .status-line {
        border-radius: 15px !important;
        box-shadow: 0 8px 20px rgba(3, 27, 42, .10);
    }

    body.pg-verification-body .status-pending {
        border-color: #b91c1c !important;
        background: rgba(255, 241, 242, .95) !important;
    }

    body.pg-verification-body .status-verified {
        border-color: #15803d !important;
        background: rgba(240, 253, 244, .95) !important;
    }

    body.pg-verification-body .status-rejected {
        border-color: var(--rp-pay-amber-600) !important;
        background: rgba(255, 247, 237, .95) !important;
    }

    body.pg-verification-body .table {
        overflow: hidden;
        border-radius: 12px;
        background: rgba(255, 255, 255, .68) !important;
    }

    body.pg-verification-body .table td {
        color: var(--rp-pay-ink) !important;
        border-bottom-color: rgba(22, 78, 107, .14) !important;
        background: rgba(255, 255, 255, .54) !important;
    }

    body.pg-verification-body .table td:first-child {
        color: var(--rp-pay-navy-950) !important;
    }

    body.pg-verification-body .pg-instructions,
    body.pg-verification-body .small {
        color: var(--rp-pay-muted) !important;
    }

    body.pg-verification-body .pg-grid h3 {
        color: var(--rp-pay-navy-950) !important;
    }

    /* =============================================================
       Responsive behaviour
       ============================================================= */
    @media (max-width: 980px) {
        body.pg-pay-body .pg-pay-shell {
            width: min(100% - 18px, 1540px) !important;
            margin: 9px auto !important;
            border-radius: 19px !important;
        }

        body.pg-pay-body .pg-pay-header {
            min-height: auto !important;
            padding: 17px 20px !important;
            border-radius: 18px 18px 0 0 !important;
        }

        body.pg-pay-body .pg-pay-two,
        body.pg-pay-body .pg-pay-form-grid,
        body.pg-pay-body .pg-pay-search,
        body.pg-verification-body .pg-grid {
            grid-template-columns: 1fr !important;
        }

        body.pg-pay-body .pg-pay-main {
            padding: 15px !important;
        }

        body.pg-verification-body .pg-wrap {
            width: min(100% - 18px, 1240px) !important;
            margin: 9px auto !important;
        }
    }

    @media (max-width: 760px) {
        body.pg-pay-body,
        body.pg-verification-body {
            background-attachment: scroll !important;
        }

        body.pg-pay-body .pg-pay-header {
            flex-direction: row !important;
            justify-content: space-between !important;
            text-align: left !important;
            gap: 12px !important;
            padding: 14px 15px !important;
        }

        body.pg-pay-body .pg-pay-header h1 {
            font-size: clamp(23px, 7vw, 31px) !important;
        }

        body.pg-pay-body .pg-pay-header h2 {
            font-size: clamp(15px, 4.8vw, 20px) !important;
        }

        body.pg-pay-body .pg-pay-header img,
        body.pg-pay-body .pg-pay-shell img {
            width: 68px !important;
            height: 68px !important;
            min-width: 68px !important;
            max-width: 68px !important;
            max-height: 68px !important;
        }

        body.pg-pay-body .rp-pay-linked-nav {
            justify-content: flex-start !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            overflow-y: visible !important;
            padding: 7px 9px !important;
        }

        body.pg-pay-body .rp-pay-nav-sep {
            display: none !important;
        }

        body.pg-pay-body .pg-pay-menu,
        body.pg-pay-body .rp-pay-linked-nav > a {
            flex: 0 0 auto !important;
        }

        body.pg-pay-body .pg-pay-menu > a,
        body.pg-pay-body .rp-pay-linked-nav > a {
            padding: 8px 11px !important;
            border-radius: 999px !important;
        }

        body.pg-pay-body .pg-pay-submenu,
        body.pg-pay-body .pg-pay-submenu-right {
            position: fixed !important;
            left: 10px !important;
            right: 10px !important;
            top: auto !important;
            width: auto !important;
            min-width: 0 !important;
            max-height: 62vh !important;
            overflow: auto !important;
            border-radius: 16px !important;
        }

        body.pg-pay-body .pg-pay-main,
        body.pg-verification-body .pg-body {
            padding: 12px !important;
        }

        body.pg-pay-body .pg-pay-card,
        body.pg-verification-body .pg-grid > div:first-child {
            padding: 14px !important;
            border-radius: 15px !important;
        }

        body.pg-pay-body .pg-pay-form-grid {
            gap: 9px !important;
        }

        body.pg-pay-body .pg-pay-btn,
        body.pg-pay-body .pg-pay-submit,
        body.pg-verification-body button,
        body.pg-verification-body .pg-btn {
            width: 100%;
        }

        body.pg-pay-body .pg-pay-submit {
            margin-left: 0 !important;
        }

        body.pg-pay-body .pg-pay-actions,
        body.pg-pay-body .pg-pay-action-grid,
        body.pg-verification-body .pg-actions,
        body.pg-verification-body .pg-top-links {
            display: grid !important;
            grid-template-columns: 1fr !important;
        }

        body.pg-verification-body .pg-head {
            padding: 20px 16px !important;
        }

        body.pg-verification-body .pg-head h1 {
            font-size: clamp(25px, 8vw, 34px) !important;
        }

        body.pg-verification-body .table {
            display: block;
            overflow-x: auto;
        }
    }
}

@media print {
    html,
    body.pg-pay-body,
    body.pg-verification-body,
    body.pg-pay-body .pg-pay-shell,
    body.pg-pay-body .pg-pay-main,
    body.pg-verification-body .pg-body,
    body.pg-pay-body .pg-pay-card,
    body.pg-verification-body .pg-card,
    body.pg-verification-body .pg-grid > div {
        background: #fff !important;
        background-image: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    body.pg-pay-body .pg-pay-shell,
    body.pg-verification-body > .pg-wrap > .pg-card {
        width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
    }

    body.pg-pay-body .pg-pay-nav,
    body.pg-pay-body .pg-pay-actions,
    body.pg-pay-body .pg-payment-options,
    body.pg-verification-body .pg-top-links,
    body.pg-verification-body .pg-actions {
        display: none !important;
    }

    body.pg-pay-body .pg-pay-header,
    body.pg-verification-body .pg-head {
        color: #111 !important;
        background: #fff !important;
        background-image: none !important;
        border-bottom: 2px solid #111 !important;
    }

    body.pg-pay-body .pg-pay-header h1,
    body.pg-pay-body .pg-pay-header h2,
    body.pg-verification-body .pg-head h1,
    body.pg-verification-body .pg-head p {
        color: #111 !important;
        text-shadow: none !important;
    }
}

/* =====================================================================
   ResultPro v130 — professional payment-invoice information architecture
   ===================================================================== */
@media screen {
    /* Shared identity header: readable on every public payment page. */
    body.pg-pay-body .pg-pay-header {
        position: relative !important;
        color: var(--rp-pay-navy-950) !important;
        background-image:
            linear-gradient(105deg, rgba(255, 255, 255, .97), rgba(255, 250, 241, .95) 58%, rgba(247, 234, 214, .92)),
            var(--rp-pay-art) !important;
        box-shadow:
            inset 0 -3px 0 rgba(22, 78, 107, .72),
            0 8px 22px rgba(3, 27, 42, .14) !important;
    }

    body.pg-pay-body .pg-pay-header::after {
        background:
            radial-gradient(circle at 78% 8%, rgba(220, 139, 44, .18), transparent 27%),
            linear-gradient(90deg, rgba(255,255,255,.14), rgba(112,169,189,.08)) !important;
    }

    body.pg-pay-body .pg-pay-header h1 {
        color: #082b3f !important;
        text-shadow: 0 2px 3px rgba(255, 255, 255, .96) !important;
    }

    body.pg-pay-body .pg-pay-header h2 {
        color: #9a482d !important;
        text-shadow: 0 1px 2px rgba(255, 255, 255, .94) !important;
    }

    /* -------------------------------------------------------------
       Invoice page shell
       ------------------------------------------------------------- */
    body.pg-pay-invoice-page {
        min-height: 100vh !important;
        padding: 10px 0 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        font-size: 14px !important;
    }

    body.pg-pay-invoice-page .pg-pay-shell {
        width: min(1740px, calc(100% - 24px)) !important;
        min-height: auto !important;
        margin: 0 auto !important;
        overflow: visible !important;
        border-radius: 20px !important;
    }

    body.pg-pay-invoice-page .pg-pay-header {
        min-height: 78px !important;
        padding: 10px 24px !important;
        gap: 18px !important;
        border-radius: 19px 19px 0 0 !important;
    }

    body.pg-pay-invoice-page .pg-pay-header h1 {
        font-size: clamp(27px, 2.25vw, 36px) !important;
        line-height: 1.02 !important;
        letter-spacing: -.02em !important;
    }

    body.pg-pay-invoice-page .pg-pay-header h2 {
        margin-top: 4px !important;
        font-size: clamp(16px, 1.4vw, 21px) !important;
        line-height: 1.05 !important;
    }

    body.pg-pay-invoice-page .pg-pay-header img,
    body.pg-pay-invoice-page .pg-pay-shell img {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important;
        max-height: 60px !important;
        padding: 3px !important;
        border-width: 2px !important;
    }

    body.pg-pay-invoice-page .pg-pay-nav {
        min-height: 44px !important;
        padding: 4px 12px !important;
        gap: 5px !important;
    }

    body.pg-pay-invoice-page .pg-pay-nav > a,
    body.pg-pay-invoice-page .pg-pay-menu > a {
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 9px !important;
        font-size: 12.5px !important;
    }

    body.pg-pay-invoice-page .pg-pay-main {
        min-height: 0 !important;
        padding: 12px !important;
        overflow: visible !important;
        border-radius: 0 0 19px 19px !important;
    }

    /* -------------------------------------------------------------
       Introductory page banner
       ------------------------------------------------------------- */
    body.pg-pay-invoice-page .pg-invoice-intro {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
        align-items: center;
        gap: 18px;
        margin: 0 0 12px;
        padding: 12px 16px;
        border: 1px solid rgba(255,255,255,.78);
        border-left: 5px solid var(--rp-pay-blue-700);
        border-radius: 15px;
        background:
            linear-gradient(120deg, rgba(255,255,255,.94), rgba(247,234,214,.86)),
            var(--rp-pay-art);
        background-size: cover;
        background-position: center;
        box-shadow: 0 10px 26px rgba(3,27,42,.12);
    }

    body.pg-pay-invoice-page .pg-invoice-eyebrow,
    body.pg-pay-invoice-page .pg-guidance-kicker,
    body.pg-pay-invoice-page .pg-form-panel-kicker {
        display: block;
        margin: 0 0 3px;
        color: var(--rp-pay-copper-600);
        font-size: 10.5px;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    body.pg-pay-invoice-page .pg-invoice-intro h2 {
        margin: 0;
        color: var(--rp-pay-navy-950);
        font-size: clamp(20px, 1.65vw, 27px);
        line-height: 1.08;
        font-weight: 950;
        letter-spacing: -.015em;
    }

    body.pg-pay-invoice-page .pg-invoice-intro p {
        margin: 4px 0 0;
        color: var(--rp-pay-muted);
        font-size: 12.5px;
        line-height: 1.32;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border: 1px solid rgba(220,139,44,.38);
        border-radius: 12px;
        color: var(--rp-pay-navy-950);
        background: rgba(255,250,241,.86);
    }

    body.pg-pay-invoice-page .pg-invoice-channel-mark {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
        display: inline-grid;
        place-items: center;
        border-radius: 50%;
        color: #fff;
        background: linear-gradient(135deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700));
        box-shadow: 0 6px 14px rgba(22,78,107,.25);
        font-size: 17px;
        font-weight: 950;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note strong,
    body.pg-pay-invoice-page .pg-invoice-channel-note span:not(.pg-invoice-channel-mark) {
        display: block;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note strong {
        margin-bottom: 2px;
        font-size: 12.5px;
        line-height: 1.15;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note span:not(.pg-invoice-channel-mark) {
        color: var(--rp-pay-muted);
        font-size: 11.5px;
        line-height: 1.25;
    }

    /* -------------------------------------------------------------
       Main two-panel professional layout
       ------------------------------------------------------------- */
    body.pg-pay-invoice-page .pg-invoice-professional-layout {
        display: grid;
        grid-template-columns: minmax(440px, .88fr) minmax(600px, 1.12fr);
        gap: 12px;
        align-items: stretch;
    }

    body.pg-pay-invoice-page .pg-invoice-guidance,
    body.pg-pay-invoice-page .pg-invoice-form-panel {
        min-width: 0;
        overflow: visible;
        border: 1px solid rgba(255,255,255,.80);
        border-radius: 16px;
        background:
            linear-gradient(132deg, rgba(255,250,241,.95), rgba(235,244,245,.91) 58%, rgba(247,234,214,.91)),
            var(--rp-pay-art);
        background-size: cover;
        background-position: center;
        box-shadow: 0 12px 30px rgba(3,27,42,.14);
    }

    body.pg-pay-invoice-page .pg-invoice-guidance {
        padding: 13px;
    }

    body.pg-pay-invoice-page .pg-guidance-header {
        margin: 0 0 9px;
        padding: 0 2px 8px;
        border-bottom: 1px solid rgba(22,78,107,.18);
    }

    body.pg-pay-invoice-page .pg-guidance-header h2,
    body.pg-pay-invoice-page .pg-form-panel-header h2 {
        margin: 0;
        color: var(--rp-pay-navy-950);
        font-size: 18px;
        line-height: 1.12;
        font-weight: 950;
    }

    body.pg-pay-invoice-page .pg-guidance-sections {
        display: grid;
        gap: 8px;
    }

    body.pg-pay-invoice-page .pg-guide-section {
        display: grid;
        grid-template-columns: 35px minmax(0, 1fr);
        gap: 10px;
        padding: 9px 10px;
        border: 1px solid rgba(22,78,107,.15);
        border-radius: 12px;
        background: rgba(255,255,255,.72);
    }

    body.pg-pay-invoice-page .pg-guide-section-important {
        border-color: rgba(169,82,49,.26);
        background: linear-gradient(120deg, rgba(255,255,255,.78), rgba(247,234,214,.74));
    }

    body.pg-pay-invoice-page .pg-guide-number {
        width: 35px;
        height: 35px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        color: #fff;
        background: linear-gradient(135deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700));
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .04em;
        box-shadow: 0 6px 14px rgba(22,78,107,.22);
    }

    body.pg-pay-invoice-page .pg-guide-section-important .pg-guide-number {
        background: linear-gradient(135deg, var(--rp-pay-amber-600), var(--rp-pay-copper-600));
    }

    body.pg-pay-invoice-page .pg-guide-content h3 {
        margin: 0 0 5px;
        color: var(--rp-pay-navy-950);
        font-size: 13.5px;
        line-height: 1.18;
        font-weight: 950;
    }

    body.pg-pay-invoice-page .pg-guide-content ol {
        margin: 0;
        padding-left: 18px;
    }

    body.pg-pay-invoice-page .pg-guide-content li {
        margin: 0 0 3px;
        color: #334d5e;
        font-size: 11.8px;
        line-height: 1.28;
    }

    body.pg-pay-invoice-page .pg-guide-content li:last-child {
        margin-bottom: 0;
    }

    body.pg-pay-invoice-page .pg-guide-content strong {
        color: var(--rp-pay-copper-700);
    }

    /* -------------------------------------------------------------
       Payment form panel
       ------------------------------------------------------------- */
    body.pg-pay-invoice-page .pg-invoice-form-panel {
        padding: 13px;
    }

    body.pg-pay-invoice-page .pg-form-panel-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        margin: 0 0 10px;
        padding: 0 2px 9px;
        border-bottom: 1px solid rgba(22,78,107,.18);
    }

    body.pg-pay-invoice-page .pg-form-panel-header p {
        margin: 4px 0 0;
        color: var(--rp-pay-muted);
        font-size: 12px;
        line-height: 1.25;
    }

    body.pg-pay-invoice-page .pg-required-note {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 9px;
        border: 1px solid rgba(169,82,49,.22);
        border-radius: 999px;
        color: var(--rp-pay-copper-700);
        background: rgba(255,250,241,.82);
        font-size: 10.5px;
        font-weight: 850;
        white-space: nowrap;
    }

    body.pg-pay-invoice-page .pg-required-note b {
        color: #b42318;
        font-size: 14px;
    }

    body.pg-pay-invoice-page .pg-professional-form-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px 12px !important;
    }

    body.pg-pay-invoice-page .pg-professional-field {
        min-width: 0;
    }

    body.pg-pay-invoice-page .pg-professional-field.wide {
        grid-column: 1 / -1;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form label {
        display: block;
        margin: 0 0 4px !important;
        color: var(--rp-pay-navy-950) !important;
        font-size: 12.3px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form label span {
        color: #b42318 !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form input,
    body.pg-pay-invoice-page .pg-professional-payment-form select,
    body.pg-pay-invoice-page .pg-professional-payment-form textarea,
    body.pg-pay-invoice-page .pg-professional-payment-form .pg-pay-input {
        width: 100% !important;
        min-height: 39px !important;
        height: 39px !important;
        padding: 7px 10px !important;
        border: 1px solid rgba(45,112,140,.42) !important;
        border-radius: 9px !important;
        color: var(--rp-pay-ink) !important;
        background: rgba(255,255,255,.94) !important;
        font-size: 12.6px !important;
        box-shadow: inset 0 1px 2px rgba(3,27,42,.04) !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form input:focus,
    body.pg-pay-invoice-page .pg-professional-payment-form select:focus,
    body.pg-pay-invoice-page .pg-professional-payment-form textarea:focus {
        border-color: var(--rp-pay-blue-700) !important;
        outline: 3px solid rgba(45,112,140,.13) !important;
        box-shadow: 0 0 0 1px rgba(45,112,140,.12) !important;
    }

    body.pg-pay-invoice-page .pg-pay-error {
        margin-top: 3px !important;
        color: #b42318 !important;
        font-size: 10.8px !important;
        line-height: 1.2 !important;
    }

    body.pg-pay-invoice-page .pg-account-creation-note {
        margin-top: 9px !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(220,139,44,.30) !important;
        border-left: 4px solid var(--rp-pay-amber-500) !important;
        border-radius: 10px !important;
        color: #3b5362 !important;
        background: rgba(255,250,241,.84) !important;
        font-size: 11.5px !important;
        line-height: 1.3 !important;
    }

    body.pg-pay-invoice-page .pg-account-creation-note strong {
        color: var(--rp-pay-copper-700) !important;
    }

    body.pg-pay-invoice-page .pg-form-action-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(22,78,107,.15);
    }

    body.pg-pay-invoice-page .pg-form-action-row p {
        max-width: 62%;
        margin: 0;
        color: var(--rp-pay-muted);
        font-size: 11.4px;
        line-height: 1.28;
    }

    body.pg-pay-invoice-page .pg-form-action-row p strong {
        color: var(--rp-pay-navy-950);
    }

    body.pg-pay-invoice-page .pg-form-action-row .pg-pay-submit {
        min-height: 40px !important;
        margin: 0 !important;
        padding: 9px 17px !important;
        border: 0 !important;
        border-radius: 10px !important;
        white-space: nowrap;
        font-size: 12.5px !important;
        font-weight: 900 !important;
        box-shadow: 0 8px 18px rgba(22,78,107,.22) !important;
    }

    body.pg-pay-invoice-page .pg-payment-methods {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 10px;
        padding: 8px 10px;
        border: 1px solid rgba(22,78,107,.15);
        border-radius: 11px;
        background: rgba(255,255,255,.66);
    }

    body.pg-pay-invoice-page .pg-payment-methods > strong {
        flex: 0 0 auto;
        color: var(--rp-pay-navy-950);
        font-size: 11px;
        line-height: 1.15;
    }

    body.pg-pay-invoice-page .pg-payment-method-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 5px;
    }

    body.pg-pay-invoice-page .pg-payment-method-list span {
        display: inline-flex;
        align-items: center;
        min-height: 25px;
        padding: 5px 8px;
        border-radius: 7px;
        color: #fff;
        background: linear-gradient(135deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700));
        font-size: 9.8px;
        line-height: 1;
        font-weight: 850;
        white-space: nowrap;
    }

    body.pg-pay-invoice-page .pg-payment-method-list span:nth-child(even) {
        background: linear-gradient(135deg, var(--rp-pay-amber-600), var(--rp-pay-copper-600));
    }

    /* Shorter laptop screens remain readable; no sentence is clipped. */
    @media (min-width: 1101px) and (max-height: 760px) {
        body.pg-pay-invoice-page {
            padding-top: 5px !important;
        }

        body.pg-pay-invoice-page .pg-pay-header {
            min-height: 66px !important;
            padding-top: 7px !important;
            padding-bottom: 7px !important;
        }

        body.pg-pay-invoice-page .pg-pay-header img,
        body.pg-pay-invoice-page .pg-pay-shell img {
            width: 52px !important;
            height: 52px !important;
            min-width: 52px !important;
            max-width: 52px !important;
            max-height: 52px !important;
        }

        body.pg-pay-invoice-page .pg-pay-nav {
            min-height: 38px !important;
            padding-top: 2px !important;
            padding-bottom: 2px !important;
        }

        body.pg-pay-invoice-page .pg-pay-main {
            padding: 8px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro {
            margin-bottom: 8px;
            padding: 8px 12px;
        }

        body.pg-pay-invoice-page .pg-invoice-professional-layout {
            gap: 8px;
        }

        body.pg-pay-invoice-page .pg-invoice-guidance,
        body.pg-pay-invoice-page .pg-invoice-form-panel {
            padding: 9px;
        }

        body.pg-pay-invoice-page .pg-guidance-sections {
            gap: 5px;
        }

        body.pg-pay-invoice-page .pg-guide-section {
            padding: 6px 8px;
        }

        body.pg-pay-invoice-page .pg-guide-content li {
            margin-bottom: 2px;
            font-size: 11.2px;
            line-height: 1.22;
        }

        body.pg-pay-invoice-page .pg-professional-form-grid {
            gap: 6px 10px !important;
        }

        body.pg-pay-invoice-page .pg-professional-payment-form input,
        body.pg-pay-invoice-page .pg-professional-payment-form select,
        body.pg-pay-invoice-page .pg-professional-payment-form textarea,
        body.pg-pay-invoice-page .pg-professional-payment-form .pg-pay-input {
            min-height: 35px !important;
            height: 35px !important;
        }
    }

    /* Tablet and narrower desktop screens: stack sections without hiding text. */
    @media (max-width: 1100px) {
        body.pg-pay-invoice-page .pg-invoice-intro {
            grid-template-columns: 1fr;
            gap: 9px;
        }

        body.pg-pay-invoice-page .pg-invoice-professional-layout {
            grid-template-columns: 1fr;
        }

        body.pg-pay-invoice-page .pg-invoice-guidance,
        body.pg-pay-invoice-page .pg-invoice-form-panel {
            min-height: 0;
        }
    }

    @media (max-width: 720px) {
        body.pg-pay-invoice-page {
            padding: 0 0 14px !important;
        }

        body.pg-pay-invoice-page .pg-pay-shell {
            width: 100% !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-pay-header {
            min-height: 94px !important;
            padding: 10px 14px !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h1 {
            font-size: 23px !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h2 {
            font-size: 15px !important;
        }

        body.pg-pay-invoice-page .pg-pay-main {
            padding: 8px !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro,
        body.pg-pay-invoice-page .pg-invoice-guidance,
        body.pg-pay-invoice-page .pg-invoice-form-panel {
            border-radius: 13px;
        }

        body.pg-pay-invoice-page .pg-form-panel-header,
        body.pg-pay-invoice-page .pg-form-action-row,
        body.pg-pay-invoice-page .pg-payment-methods {
            align-items: stretch;
            flex-direction: column;
        }

        body.pg-pay-invoice-page .pg-required-note {
            align-self: flex-start;
        }

        body.pg-pay-invoice-page .pg-professional-form-grid {
            grid-template-columns: 1fr !important;
        }

        body.pg-pay-invoice-page .pg-professional-field.wide {
            grid-column: auto;
        }

        body.pg-pay-invoice-page .pg-form-action-row p {
            max-width: none;
        }

        body.pg-pay-invoice-page .pg-form-action-row .pg-pay-submit {
            width: 100%;
        }

        body.pg-pay-invoice-page .pg-payment-method-list {
            justify-content: flex-start;
        }
    }
}

/* =====================================================================
   ResultPro v131 — payment invoice aligned with the student dashboard
   design language. These rules intentionally come last so the page keeps
   the shared payment logic while adopting the student portal structure.
   ===================================================================== */
@media screen {
    body.pg-pay-invoice-page {
        min-height: 100vh !important;
        padding: 0 0 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        font-size: 16px !important;
    }

    body.pg-pay-invoice-page .pg-pay-shell {
        width: min(1740px, calc(100% - 36px)) !important;
        min-height: auto !important;
        margin: 0 auto 24px !important;
        overflow: visible !important;
        border: 1px solid rgba(255, 255, 255, .70) !important;
        border-radius: 28px !important;
        background: rgba(235, 242, 242, .86) !important;
        box-shadow: 0 30px 80px rgba(0, 18, 31, .42) !important;
    }

    /* Large illustrated identity header, matching the student portal. */
    body.pg-pay-invoice-page .pg-pay-header {
        min-height: 146px !important;
        padding: 22px 34px !important;
        gap: 28px !important;
        border-radius: 27px 27px 0 0 !important;
        color: #fff !important;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .96), rgba(13, 56, 81, .80) 54%, rgba(137, 65, 37, .72)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 43% !important;
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .38) !important;
    }

    body.pg-pay-invoice-page .pg-pay-header::after {
        background:
            radial-gradient(circle at 78% 12%, rgba(255, 225, 175, .25), transparent 26%),
            linear-gradient(90deg, rgba(7, 38, 55, .05), rgba(169, 82, 49, .16)) !important;
    }

    body.pg-pay-invoice-page .pg-pay-title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
    }

    body.pg-pay-invoice-page .pg-pay-header h1 {
        margin: 0 !important;
        color: #fff !important;
        font-size: clamp(38px, 3.35vw, 52px) !important;
        line-height: .98 !important;
        font-weight: 950 !important;
        letter-spacing: -.035em !important;
        text-shadow: 0 4px 17px rgba(0, 15, 27, .58) !important;
    }

    body.pg-pay-invoice-page .pg-pay-header h2 {
        margin: 9px 0 0 !important;
        color: #ffd58f !important;
        font-size: clamp(22px, 2vw, 29px) !important;
        line-height: 1.05 !important;
        font-weight: 850 !important;
        text-shadow: 0 3px 12px rgba(0, 15, 27, .48) !important;
    }

    body.pg-pay-invoice-page .pg-pay-header img,
    body.pg-pay-invoice-page .pg-pay-shell .pg-pay-header img {
        width: 100px !important;
        height: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        max-height: 100px !important;
        padding: 5px !important;
        border: 3px solid rgba(255, 215, 150, .94) !important;
        background: rgba(255, 255, 255, .97) !important;
        box-shadow: 0 15px 35px rgba(0, 16, 28, .38) !important;
    }

    body.pg-pay-invoice-page .pg-pay-nav {
        min-height: 60px !important;
        padding: 8px 18px !important;
        gap: 8px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .36) !important;
        background-image:
            linear-gradient(105deg, rgba(8, 43, 63, .98), rgba(22, 78, 107, .94), rgba(129, 59, 42, .90)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center 60% !important;
        box-shadow: 0 8px 24px rgba(3, 27, 42, .20) !important;
    }

    body.pg-pay-invoice-page .pg-pay-nav > a,
    body.pg-pay-invoice-page .pg-pay-menu > a {
        min-height: 40px !important;
        padding: 9px 13px !important;
        border-radius: 12px !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 850 !important;
    }

    body.pg-pay-invoice-page .pg-pay-main {
        min-height: 0 !important;
        padding: 20px 22px 24px !important;
        overflow: visible !important;
        border-radius: 0 0 27px 27px !important;
        background:
            linear-gradient(125deg, rgba(237, 244, 244, .92), rgba(223, 236, 238, .86) 58%, rgba(247, 234, 214, .78)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center !important;
    }

    /* Dashboard-style page identity strip. */
    body.pg-pay-invoice-page .pg-invoice-intro {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 18px !important;
        margin: 0 0 18px !important;
        padding: 15px 20px !important;
        min-height: 98px !important;
        border: 1px solid rgba(255, 255, 255, .84) !important;
        border-left: 6px solid var(--rp-pay-amber-500) !important;
        border-radius: 20px !important;
        background:
            linear-gradient(110deg, rgba(255,255,255,.90), rgba(221,237,240,.82) 58%, rgba(255,239,214,.87)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: 0 12px 28px rgba(3, 27, 42, .13) !important;
    }

    body.pg-pay-invoice-page .pg-invoice-intro-icon {
        width: 62px;
        height: 62px;
        display: grid;
        place-items: center;
        border: 3px solid var(--rp-pay-amber-500);
        border-radius: 50%;
        color: var(--rp-pay-navy-950);
        background: rgba(255, 255, 255, .90);
        font-size: 29px;
        box-shadow: 0 9px 22px rgba(3, 27, 42, .13);
    }

    body.pg-pay-invoice-page .pg-invoice-eyebrow {
        display: block !important;
        margin-bottom: 3px !important;
        color: var(--rp-pay-blue-700) !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
    }

    body.pg-pay-invoice-page .pg-invoice-intro h2 {
        margin: 0 !important;
        color: var(--rp-pay-navy-950) !important;
        font-size: clamp(24px, 2vw, 31px) !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
    }

    body.pg-pay-invoice-page .pg-invoice-intro p {
        margin: 5px 0 0 !important;
        max-width: 920px !important;
        color: var(--rp-pay-muted) !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        font-weight: 650 !important;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note {
        min-width: 245px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-align: right !important;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note strong {
        color: var(--rp-pay-copper-700) !important;
        font-size: 17px !important;
        line-height: 1.1 !important;
        font-weight: 950 !important;
    }

    body.pg-pay-invoice-page .pg-invoice-channel-note span {
        color: var(--rp-pay-muted) !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 750 !important;
    }

    /* Two balanced dashboard cards. Never clip text. */
    body.pg-pay-invoice-page .pg-invoice-professional-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr) !important;
        align-items: stretch !important;
        gap: 18px !important;
        min-height: 0 !important;
    }

    body.pg-pay-invoice-page .pg-invoice-guidance,
    body.pg-pay-invoice-page .pg-invoice-form-panel {
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
        padding: 18px !important;
        border: 1px solid rgba(255, 255, 255, .86) !important;
        border-radius: 21px !important;
        background:
            linear-gradient(122deg, rgba(255,255,255,.90), rgba(240,244,242,.82) 54%, rgba(255,239,216,.80)),
            var(--rp-pay-art) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: 0 14px 34px rgba(3, 27, 42, .14) !important;
    }

    body.pg-pay-invoice-page .pg-invoice-guidance {
        border-top: 4px solid var(--rp-pay-amber-500) !important;
    }

    body.pg-pay-invoice-page .pg-invoice-form-panel {
        border-top: 4px solid var(--rp-pay-blue-700) !important;
    }

    body.pg-pay-invoice-page .pg-guidance-header,
    body.pg-pay-invoice-page .pg-form-panel-header {
        margin: 0 0 12px !important;
        padding: 0 2px 11px !important;
        border-bottom: 1px solid rgba(22, 78, 107, .23) !important;
    }

    body.pg-pay-invoice-page .pg-guidance-kicker,
    body.pg-pay-invoice-page .pg-form-panel-kicker {
        display: block !important;
        margin-bottom: 4px !important;
        color: var(--rp-pay-copper-600) !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
    }

    body.pg-pay-invoice-page .pg-guidance-header h2,
    body.pg-pay-invoice-page .pg-form-panel-header h2 {
        margin: 0 !important;
        color: var(--rp-pay-navy-950) !important;
        font-size: 23px !important;
        line-height: 1.08 !important;
        font-weight: 950 !important;
    }

    body.pg-pay-invoice-page .pg-form-panel-header {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 14px !important;
    }

    body.pg-pay-invoice-page .pg-form-panel-header p {
        margin: 5px 0 0 !important;
        color: var(--rp-pay-muted) !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        font-weight: 650 !important;
    }

    body.pg-pay-invoice-page .pg-required-note {
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        min-height: 34px !important;
        padding: 7px 12px !important;
        border: 1px solid rgba(169, 82, 49, .25) !important;
        border-radius: 999px !important;
        color: var(--rp-pay-copper-700) !important;
        background: rgba(255, 248, 237, .91) !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.pg-pay-invoice-page .pg-guidance-sections {
        display: grid !important;
        gap: 9px !important;
    }

    body.pg-pay-invoice-page .pg-guide-section {
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: 11px !important;
        align-items: start !important;
        padding: 11px 12px !important;
        border: 1px solid rgba(22, 78, 107, .17) !important;
        border-radius: 15px !important;
        background: rgba(255, 255, 255, .72) !important;
        box-shadow: 0 7px 18px rgba(3, 27, 42, .07) !important;
    }

    body.pg-pay-invoice-page .pg-guide-section-important {
        border-color: rgba(200, 112, 32, .34) !important;
        background: linear-gradient(125deg, rgba(255,255,255,.76), rgba(255,239,216,.73)) !important;
    }

    body.pg-pay-invoice-page .pg-guide-number {
        width: 40px !important;
        height: 40px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 12px !important;
        color: #fff !important;
        background: linear-gradient(135deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700)) !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        box-shadow: 0 7px 15px rgba(3, 27, 42, .16) !important;
    }

    body.pg-pay-invoice-page .pg-guide-section-important .pg-guide-number {
        background: linear-gradient(135deg, var(--rp-pay-amber-600), var(--rp-pay-copper-600)) !important;
    }

    body.pg-pay-invoice-page .pg-guide-content h3 {
        margin: 0 0 5px !important;
        color: var(--rp-pay-navy-950) !important;
        font-size: 17px !important;
        line-height: 1.18 !important;
        font-weight: 950 !important;
    }

    body.pg-pay-invoice-page .pg-guide-content ol {
        margin: 0 !important;
        padding-left: 20px !important;
    }

    body.pg-pay-invoice-page .pg-guide-content li {
        margin: 0 0 3px !important;
        padding-left: 2px !important;
        color: #29475a !important;
        font-size: 14.2px !important;
        line-height: 1.31 !important;
        font-weight: 540 !important;
    }

    body.pg-pay-invoice-page .pg-guide-content li:last-child {
        margin-bottom: 0 !important;
    }

    body.pg-pay-invoice-page .pg-guide-content strong {
        color: var(--rp-pay-copper-700) !important;
        font-weight: 900 !important;
    }

    body.pg-pay-invoice-page .pg-professional-form-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 14px !important;
    }

    body.pg-pay-invoice-page .pg-professional-field.wide {
        grid-column: 1 / -1 !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form label {
        display: block !important;
        margin: 0 0 5px !important;
        color: var(--rp-pay-navy-950) !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form label span {
        color: var(--rp-pay-copper-600) !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form input,
    body.pg-pay-invoice-page .pg-professional-payment-form select,
    body.pg-pay-invoice-page .pg-professional-payment-form textarea,
    body.pg-pay-invoice-page .pg-professional-payment-form .pg-pay-input {
        width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 9px 13px !important;
        border: 1px solid rgba(45, 112, 140, .42) !important;
        border-radius: 12px !important;
        color: var(--rp-pay-ink) !important;
        background: rgba(255, 255, 255, .94) !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
        box-shadow: inset 0 1px 2px rgba(3, 27, 42, .04) !important;
    }

    body.pg-pay-invoice-page .pg-professional-payment-form input:focus,
    body.pg-pay-invoice-page .pg-professional-payment-form select:focus,
    body.pg-pay-invoice-page .pg-professional-payment-form textarea:focus {
        border-color: var(--rp-pay-blue-700) !important;
        outline: 3px solid rgba(112, 169, 189, .22) !important;
        outline-offset: 0 !important;
        box-shadow: 0 0 0 1px rgba(45,112,140,.12) !important;
    }

    body.pg-pay-invoice-page .pg-pay-error {
        display: block !important;
        margin-top: 4px !important;
        color: #9b2419 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    body.pg-pay-invoice-page .pg-account-creation-note {
        margin-top: 11px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(220, 139, 44, .34) !important;
        border-left: 4px solid var(--rp-pay-amber-500) !important;
        border-radius: 12px !important;
        color: var(--rp-pay-ink) !important;
        background: rgba(255, 248, 235, .90) !important;
        font-size: 13.5px !important;
        line-height: 1.35 !important;
    }

    body.pg-pay-invoice-page .pg-form-action-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        margin-top: 13px !important;
        padding-top: 13px !important;
        border-top: 1px solid rgba(22, 78, 107, .20) !important;
    }

    body.pg-pay-invoice-page .pg-form-action-row p {
        margin: 0 !important;
        max-width: 58% !important;
        color: var(--rp-pay-muted) !important;
        font-size: 13.5px !important;
        line-height: 1.32 !important;
    }

    body.pg-pay-invoice-page .pg-form-action-row .pg-pay-submit {
        min-height: 48px !important;
        padding: 11px 20px !important;
        border: 0 !important;
        border-radius: 13px !important;
        color: #fff !important;
        background:
            linear-gradient(105deg, rgba(10, 63, 89, .98), rgba(31, 105, 134, .93) 62%, rgba(169, 82, 49, .96)),
            var(--rp-pay-art) !important;
        font-size: 15px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        box-shadow: 0 10px 24px rgba(3, 27, 42, .20) !important;
        white-space: nowrap !important;
    }

    body.pg-pay-invoice-page .pg-payment-methods {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin-top: 12px !important;
        padding: 9px 11px !important;
        border: 1px solid rgba(22, 78, 107, .18) !important;
        border-radius: 13px !important;
        background: rgba(255, 255, 255, .77) !important;
    }

    body.pg-pay-invoice-page .pg-payment-methods > strong {
        color: var(--rp-pay-navy-950) !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.pg-pay-invoice-page .pg-payment-method-list {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: 6px !important;
    }

    body.pg-pay-invoice-page .pg-payment-method-list span {
        min-height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 6px 10px !important;
        border-radius: 8px !important;
        color: #fff !important;
        background: linear-gradient(135deg, var(--rp-pay-navy-800), var(--rp-pay-blue-700)) !important;
        font-size: 11px !important;
        line-height: 1 !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.pg-pay-invoice-page .pg-payment-method-list span:nth-child(even) {
        background: linear-gradient(135deg, var(--rp-pay-amber-600), var(--rp-pay-copper-600)) !important;
    }

    /* Normal laptops: preserve the large text while using space efficiently. */
    @media (min-width: 1101px) and (max-height: 900px) {
        body.pg-pay-invoice-page .pg-pay-header {
            min-height: 126px !important;
            padding-top: 17px !important;
            padding-bottom: 17px !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h1 {
            font-size: clamp(34px, 3vw, 46px) !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h2 {
            font-size: clamp(20px, 1.7vw, 25px) !important;
        }

        body.pg-pay-invoice-page .pg-pay-header img,
        body.pg-pay-invoice-page .pg-pay-shell .pg-pay-header img {
            width: 86px !important;
            height: 86px !important;
            min-width: 86px !important;
            max-width: 86px !important;
            max-height: 86px !important;
        }

        body.pg-pay-invoice-page .pg-pay-nav {
            min-height: 54px !important;
            padding-top: 6px !important;
            padding-bottom: 6px !important;
        }

        body.pg-pay-invoice-page .pg-pay-main {
            padding: 14px 16px 18px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro {
            min-height: 84px !important;
            margin-bottom: 13px !important;
            padding-top: 11px !important;
            padding-bottom: 11px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro-icon {
            width: 55px !important;
            height: 55px !important;
            font-size: 25px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-guidance,
        body.pg-pay-invoice-page .pg-invoice-form-panel {
            padding: 14px !important;
        }

        body.pg-pay-invoice-page .pg-guide-section {
            padding: 8px 10px !important;
        }

        body.pg-pay-invoice-page .pg-guide-content li {
            font-size: 13px !important;
            line-height: 1.25 !important;
        }

        body.pg-pay-invoice-page .pg-professional-payment-form input,
        body.pg-pay-invoice-page .pg-professional-payment-form select,
        body.pg-pay-invoice-page .pg-professional-payment-form textarea,
        body.pg-pay-invoice-page .pg-professional-payment-form .pg-pay-input {
            min-height: 42px !important;
            height: 42px !important;
        }
    }

    @media (max-width: 1100px) {
        body.pg-pay-invoice-page .pg-pay-shell {
            width: min(980px, calc(100% - 20px)) !important;
        }

        body.pg-pay-invoice-page .pg-invoice-professional-layout {
            grid-template-columns: 1fr !important;
        }

        body.pg-pay-invoice-page .pg-invoice-channel-note {
            min-width: 190px !important;
        }
    }

    @media (max-width: 760px) {
        body.pg-pay-invoice-page {
            padding: 0 0 14px !important;
        }

        body.pg-pay-invoice-page .pg-pay-shell {
            width: 100% !important;
            margin: 0 !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-pay-header {
            min-height: 112px !important;
            padding: 15px 16px !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h1 {
            font-size: clamp(27px, 8.4vw, 37px) !important;
            line-height: 1.02 !important;
        }

        body.pg-pay-invoice-page .pg-pay-header h2 {
            margin-top: 6px !important;
            font-size: clamp(17px, 5vw, 22px) !important;
        }

        body.pg-pay-invoice-page .pg-pay-header img,
        body.pg-pay-invoice-page .pg-pay-shell .pg-pay-header img {
            width: 66px !important;
            height: 66px !important;
            min-width: 66px !important;
            max-width: 66px !important;
            max-height: 66px !important;
        }

        body.pg-pay-invoice-page .pg-pay-main {
            padding: 10px !important;
            border-radius: 0 !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro {
            grid-template-columns: 52px minmax(0, 1fr) !important;
            gap: 12px !important;
            padding: 12px !important;
            border-radius: 16px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro-icon {
            width: 48px !important;
            height: 48px !important;
            font-size: 22px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro h2 {
            font-size: 23px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-intro p {
            font-size: 13.5px !important;
        }

        body.pg-pay-invoice-page .pg-invoice-channel-note {
            grid-column: 1 / -1 !important;
            min-width: 0 !important;
            align-items: flex-start !important;
            padding: 9px 11px !important;
            border: 1px solid rgba(169, 82, 49, .18) !important;
            border-radius: 11px !important;
            background: rgba(255, 248, 237, .73) !important;
            text-align: left !important;
        }

        body.pg-pay-invoice-page .pg-invoice-guidance,
        body.pg-pay-invoice-page .pg-invoice-form-panel {
            padding: 13px !important;
            border-radius: 16px !important;
        }

        body.pg-pay-invoice-page .pg-form-panel-header,
        body.pg-pay-invoice-page .pg-form-action-row,
        body.pg-pay-invoice-page .pg-payment-methods {
            align-items: stretch !important;
            flex-direction: column !important;
        }

        body.pg-pay-invoice-page .pg-required-note {
            align-self: flex-start !important;
        }

        body.pg-pay-invoice-page .pg-professional-form-grid {
            grid-template-columns: 1fr !important;
        }

        body.pg-pay-invoice-page .pg-professional-field.wide {
            grid-column: auto !important;
        }

        body.pg-pay-invoice-page .pg-form-action-row p {
            max-width: none !important;
        }

        body.pg-pay-invoice-page .pg-form-action-row .pg-pay-submit {
            width: 100% !important;
            white-space: normal !important;
        }

        body.pg-pay-invoice-page .pg-payment-method-list {
            justify-content: flex-start !important;
        }
    }
}
