/*
 * ResultPro — Postgraduate Student Portal Abstract-Art Theme
 * Version: 127 (11 July 2026)
 *
 * Uses the same uploaded artwork and colour family as the redesigned
 * postgraduate landing page. This stylesheet is loaded after the existing
 * student page styles so it changes presentation only; URLs, forms, tables,
 * permissions and student workflows remain untouched.
 */

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

@media screen {
    /* =========================================================
       Student portal shell and global background
       ========================================================= */
    html {
        min-height: 100%;
        background: var(--rp-stu-navy-950);
    }

    body.rp-student-body,
    body.rp-student-futa-body {
        min-height: 100vh;
        color: var(--rp-stu-ink);
        background-image:
            linear-gradient(135deg, rgba(8, 43, 63, .90), rgba(22, 78, 107, .70) 48%, rgba(169, 82, 49, .70)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        background-attachment: fixed !important;
    }

    body.rp-student-body::before,
    body.rp-student-futa-body::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1;
        width: auto;
        height: auto;
        border-radius: 0;
        pointer-events: none;
        background:
            radial-gradient(circle at 12% 9%, rgba(255, 236, 194, .25), transparent 28%),
            radial-gradient(circle at 88% 86%, rgba(112, 169, 189, .26), transparent 31%) !important;
    }

    .rp-student-page-shell {
        width: min(1500px, calc(100% - 28px));
        min-height: calc(100vh - 28px);
        margin: 14px auto;
        overflow: visible;
        border: 1px solid var(--rp-stu-white-line);
        border-radius: 24px;
        background: rgba(245, 249, 249, .80) !important;
        box-shadow: 0 28px 80px rgba(0, 16, 29, .38);
        backdrop-filter: blur(17px) saturate(116%);
        -webkit-backdrop-filter: blur(17px) saturate(116%);
    }

    /* =========================================================
       Header and navigation
       ========================================================= */
    .rp-student-futa-header {
        position: relative;
        isolation: isolate;
        min-height: 132px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        padding: 20px 30px !important;
        overflow: hidden;
        color: #fff;
        border: 0 !important;
        border-radius: 23px 23px 0 0;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .96), rgba(12, 58, 81, .82) 52%, rgba(133, 63, 36, .68)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center 45% !important;
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .28);
    }

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

    .rp-student-futa-header h1,
    .rp-student-title 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, .48);
    }

    .rp-student-futa-header h2,
    .rp-student-title 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;
    }

    .rp-student-futa-header img {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        max-height: 92px !important;
        padding: 4px;
        object-fit: contain !important;
        border: 3px solid rgba(255, 221, 163, .90) !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, .95) !important;
        box-shadow: 0 14px 34px rgba(0, 18, 31, .34);
    }

    .rp-student-topnav {
        position: sticky !important;
        top: 0 !important;
        z-index: 4000 !important;
        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;
        background-image:
            linear-gradient(105deg, rgba(8, 43, 63, .97), rgba(22, 78, 107, .93), rgba(129, 59, 42, .91)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center 60% !important;
        box-shadow: 0 8px 23px rgba(3, 27, 42, .18);
    }

    .rp-student-topnav .rp-student-menu,
    .rp-student-topnav .rp-student-submenu {
        z-index: 4010 !important;
    }

    .rp-student-content-wrap,
    .rp-student-content-wrap .rp-section {
        scroll-margin-top: 68px;
    }

    .rp-student-topnav > a,
    .rp-student-menu > a {
        min-height: 38px !important;
        padding: 8px 11px !important;
        border: 1px solid transparent;
        border-radius: 11px;
        color: #fff !important;
        font-size: 13px;
        font-weight: 850 !important;
        text-decoration: none !important;
        transition: background .18s ease, border-color .18s ease, transform .18s ease;
    }

    .rp-student-topnav > a:hover,
    .rp-student-topnav > a:focus-visible,
    .rp-student-menu:hover > a,
    .rp-student-menu:focus-within > a {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .58);
        background: linear-gradient(110deg, rgba(220, 139, 44, .82), rgba(169, 82, 49, .78)) !important;
        transform: translateY(-1px);
        outline: none;
    }

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

    .rp-student-nav-logout {
        color: #ffdda3 !important;
    }

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

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

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

    /* =========================================================
       Page identity, content cards and dashboard
       ========================================================= */
    .rp-student-content-wrap {
        max-width: none !important;
        padding: 18px 20px 30px !important;
        background:
            linear-gradient(180deg, rgba(255, 250, 241, .48), rgba(201, 224, 230, .26));
        border-radius: 0 0 23px 23px;
    }

    .rp-student-identity-strip {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: 13px 16px !important;
        margin-bottom: 15px !important;
        border: 1px solid var(--rp-stu-white-line) !important;
        border-left: 6px solid var(--rp-stu-amber-500) !important;
        border-radius: 17px !important;
        background-image:
            linear-gradient(105deg, rgba(255, 250, 241, .93), rgba(201, 224, 230, .88) 62%, rgba(247, 234, 214, .91)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: 42% 48% !important;
        box-shadow: var(--rp-stu-soft-shadow) !important;
    }

    .rp-student-photo-box {
        border: 3px solid var(--rp-stu-amber-500) !important;
        color: var(--rp-stu-navy-950) !important;
        background: rgba(255, 255, 255, .92) !important;
        box-shadow: 0 8px 20px rgba(3, 27, 42, .16);
    }

    .rp-student-identity-strip h2 {
        color: var(--rp-stu-navy-950) !important;
    }

    .rp-student-identity-strip p,
    .rp-student-identity-meta small {
        color: var(--rp-stu-muted) !important;
    }

    .rp-student-identity-meta strong {
        color: var(--rp-stu-copper-700) !important;
    }

    .rp-section,
    .rp-admin-card,
    .rp-dashboard-payment-guide > *,
    .rp-guide-payment-box {
        overflow: hidden;
        border: 1px solid var(--rp-stu-white-line) !important;
        border-radius: 18px !important;
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .94), rgba(247, 234, 214, .88)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: var(--rp-stu-soft-shadow) !important;
    }

    .rp-section:nth-of-type(even),
    .rp-admin-card:nth-child(3n + 2) {
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .94), rgba(201, 224, 230, .87)),
            var(--rp-stu-art-image) !important;
        background-position: 76% 42% !important;
    }

    .rp-admin-card {
        border-top: 4px solid var(--rp-stu-amber-500) !important;
        transition: transform .18s ease, box-shadow .18s ease;
    }

    .rp-admin-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--rp-stu-shadow) !important;
    }

    .rp-admin-card-icon {
        color: #fff !important;
        border: 1px solid rgba(255, 221, 163, .60) !important;
        border-radius: 15px !important;
        background-image:
            linear-gradient(145deg, rgba(45, 112, 140, .94), rgba(169, 82, 49, .91)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        box-shadow: 0 10px 22px rgba(3, 27, 42, .18);
    }

    .rp-admin-card-label {
        color: var(--rp-stu-blue-700) !important;
    }

    .rp-admin-card-value,
    .rp-section h3,
    .rp-guide-payment-box h3,
    .rp-guide-subtitle {
        color: var(--rp-stu-navy-950) !important;
    }

    .rp-admin-card-desc,
    .rp-guide-payment-box p {
        color: var(--rp-stu-muted) !important;
    }

    .rp-guide-subtitle {
        border: 1px solid rgba(220, 139, 44, .35) !important;
        border-left: 5px solid var(--rp-stu-amber-500) !important;
        border-radius: 12px;
        background: rgba(255, 250, 241, .88) !important;
    }

    .rp-guide-payment-options {
        border: 1px solid rgba(22, 78, 107, .22) !important;
        border-radius: 14px;
        background: rgba(255, 255, 255, .76) !important;
    }

    .rp-guide-payment-options span {
        color: #fff !important;
        border-radius: 9px;
        background: linear-gradient(110deg, var(--rp-stu-navy-800), var(--rp-stu-blue-700)) !important;
    }

    .rp-guide-payment-options span:nth-child(2),
    .rp-guide-payment-options span:nth-child(5) {
        color: #fff !important;
        background: linear-gradient(110deg, var(--rp-stu-amber-600), var(--rp-stu-copper-600)) !important;
    }

    /* =========================================================
       Buttons, alerts, forms and tables
       ========================================================= */
    .rp-btn,
    .rp-bio-btn,
    .rp-pass-btn {
        min-height: 39px;
        border: 1px solid rgba(22, 78, 107, .24) !important;
        border-radius: 11px !important;
        color: var(--rp-stu-navy-950) !important;
        background-image:
            linear-gradient(120deg, rgba(255, 250, 241, .94), rgba(201, 224, 230, .90)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        box-shadow: 0 6px 16px rgba(3, 27, 42, .10);
    }

    .rp-btn.primary,
    .rp-btn:hover,
    .rp-bio-btn.primary,
    .rp-pass-btn:not(.light):not(.gold) {
        color: #fff !important;
        border-color: rgba(255, 221, 163, .52) !important;
        background-image:
            linear-gradient(110deg, rgba(13, 56, 81, .97), rgba(45, 112, 140, .95), rgba(129, 59, 42, .93)),
            var(--rp-stu-art-image) !important;
    }

    .rp-bio-btn.gold,
    .rp-pass-btn.gold {
        color: #fff !important;
        border-color: rgba(255, 235, 200, .55) !important;
        background-image:
            linear-gradient(110deg, rgba(220, 139, 44, .97), rgba(169, 82, 49, .95)),
            var(--rp-stu-art-image) !important;
    }

    .rp-btn:hover,
    .rp-bio-btn:hover,
    .rp-pass-btn:hover {
        transform: translateY(-1px);
        filter: saturate(1.06);
    }

    .rp-alert,
    .rp-bio-alert,
    .rp-pass-alert {
        border: 1px solid rgba(220, 139, 44, .42) !important;
        border-left: 5px solid var(--rp-stu-amber-500) !important;
        border-radius: 13px !important;
        color: var(--rp-stu-navy-950) !important;
        background-image:
            linear-gradient(120deg, rgba(255, 250, 241, .95), rgba(247, 234, 214, .91)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        box-shadow: 0 7px 18px rgba(3, 27, 42, .08);
    }

    .rp-alert.success,
    .rp-bio-alert.success {
        border-left-color: var(--rp-stu-blue-700) !important;
        color: var(--rp-stu-navy-950) !important;
        background-image:
            linear-gradient(120deg, rgba(231, 247, 249, .96), rgba(201, 224, 230, .92)),
            var(--rp-stu-art-image) !important;
    }

    .rp-alert.danger,
    .rp-alert.error,
    .rp-bio-alert.error,
    .rp-pass-alert.danger {
        border-color: rgba(169, 82, 49, .38) !important;
        border-left-color: var(--rp-stu-copper-600) !important;
        color: var(--rp-stu-copper-700) !important;
        background: rgba(255, 244, 238, .95) !important;
    }

    .rp-input,
    .rp-filter input,
    .rp-filter select,
    .rp-form-grid input,
    .rp-form-grid select,
    .rp-form-grid textarea,
    .rp-student-content-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
    .rp-student-content-wrap select,
    .rp-student-content-wrap textarea {
        color: var(--rp-stu-ink) !important;
        border: 1px solid rgba(22, 78, 107, .28) !important;
        border-radius: 11px !important;
        background: rgba(255, 255, 255, .90) !important;
        box-shadow: inset 0 1px 3px rgba(3, 27, 42, .06);
    }

    .rp-input:focus,
    .rp-filter input:focus,
    .rp-filter select:focus,
    .rp-form-grid input:focus,
    .rp-form-grid select:focus,
    .rp-form-grid textarea:focus,
    .rp-student-content-wrap input:focus,
    .rp-student-content-wrap select:focus,
    .rp-student-content-wrap textarea:focus {
        border-color: var(--rp-stu-blue-700) !important;
        outline: none !important;
        box-shadow: 0 0 0 4px rgba(45, 112, 140, .15) !important;
    }

    .rp-filter label,
    .rp-form-grid label,
    .rp-student-content-wrap label {
        color: var(--rp-stu-navy-950) !important;
    }

    .rp-table-wrap {
        overflow: auto;
        border: 1px solid rgba(22, 78, 107, .18) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .86) !important;
        box-shadow: 0 8px 19px rgba(3, 27, 42, .08);
    }

    .rp-table,
    .rp-student-content-wrap table {
        color: var(--rp-stu-ink) !important;
        background: rgba(255, 255, 255, .82) !important;
    }

    .rp-table th,
    .rp-student-content-wrap table th {
        color: #fff !important;
        border-color: rgba(255, 255, 255, .18) !important;
        background-image:
            linear-gradient(105deg, rgba(13, 56, 81, .98), rgba(45, 112, 140, .96), rgba(129, 59, 42, .94)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }

    .rp-table td,
    .rp-student-content-wrap table td {
        border-color: rgba(22, 78, 107, .13) !important;
        background: rgba(255, 255, 255, .79) !important;
    }

    .rp-table tbody tr:nth-child(even) td,
    .rp-student-content-wrap table tbody tr:nth-child(even) td {
        background: rgba(201, 224, 230, .22) !important;
    }

    .rp-table tbody tr:hover td,
    .rp-student-content-wrap table tbody tr:hover td {
        background: rgba(247, 234, 214, .48) !important;
    }

    /* =========================================================
       Bio-data wizard pages — remap their local variables
       ========================================================= */
    .rp-biodata-page-v2,
    .rp-bio-section-page-v3 {
        --bio-green: var(--rp-stu-navy-900) !important;
        --bio-green-2: var(--rp-stu-blue-700) !important;
        --bio-gold: var(--rp-stu-amber-500) !important;
        --bio-gold-soft: var(--rp-stu-cream-100) !important;
        --bio-wine: var(--rp-stu-copper-700) !important;
        --bio-bg: var(--rp-stu-cream-50) !important;
        --bio-line: rgba(22, 78, 107, .20) !important;
        --bio-muted: var(--rp-stu-muted) !important;
        --bio-ink: var(--rp-stu-ink) !important;
    }

    .rp-bio-hero-card,
    .rp-bio-summary-card,
    .rp-bio-panel,
    .rp-bio-step-card,
    .rp-bio-note,
    .rp-bio-status-box,
    .rp-bio-section-sidebar,
    .rp-bio-main-card,
    .rp-bio-step-link,
    .rp-bio-certificate-panel,
    .rp-bio-security-status-card,
    .rp-bio-security-note {
        border-color: var(--rp-stu-white-line) !important;
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(247, 234, 214, .88)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: var(--rp-stu-soft-shadow) !important;
    }

    .rp-bio-summary-card:nth-child(even),
    .rp-bio-step-card:nth-child(even),
    .rp-bio-step-link:nth-child(even) {
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(201, 224, 230, .88)),
            var(--rp-stu-art-image) !important;
        background-position: 75% 48% !important;
    }

    .rp-bio-sidebar-head,
    .rp-bio-main-icon,
    .rp-bio-step-num {
        color: #fff !important;
        background-image:
            linear-gradient(115deg, rgba(13, 56, 81, .97), rgba(45, 112, 140, .95), rgba(129, 59, 42, .91)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }

    .rp-bio-main-head {
        border-left-color: var(--rp-stu-amber-500) !important;
        background-image:
            linear-gradient(120deg, rgba(255, 250, 241, .95), rgba(201, 224, 230, .86)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }

    .rp-bio-kicker,
    .rp-bio-current-badge,
    .rp-bio-student-chip span,
    .rp-bio-mobile-progress {
        color: var(--rp-stu-copper-700) !important;
        border-color: rgba(220, 139, 44, .46) !important;
        background: rgba(247, 234, 214, .90) !important;
    }

    /* =========================================================
       Password page — remap its local variables
       ========================================================= */
    .rp-password-page-v2 {
        --pc-green: var(--rp-stu-navy-900) !important;
        --pc-green-2: var(--rp-stu-blue-700) !important;
        --pc-gold: var(--rp-stu-amber-500) !important;
        --pc-gold-soft: var(--rp-stu-cream-100) !important;
        --pc-wine: var(--rp-stu-copper-700) !important;
        --pc-line: rgba(22, 78, 107, .20) !important;
        --pc-muted: var(--rp-stu-muted) !important;
        --pc-ink: var(--rp-stu-ink) !important;
    }

    .rp-pass-hero,
    .rp-pass-stat,
    .rp-pass-card,
    .rp-pass-card-head,
    .rp-pass-code-request {
        border-color: var(--rp-stu-white-line) !important;
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(247, 234, 214, .88)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: var(--rp-stu-soft-shadow) !important;
    }

    .rp-pass-stat:nth-child(even),
    .rp-pass-code-request {
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(201, 224, 230, .88)),
            var(--rp-stu-art-image) !important;
    }

    .rp-pass-email-chip,
    .rp-pass-help {
        color: var(--rp-stu-copper-700) !important;
        border-color: rgba(220, 139, 44, .44) !important;
        background: rgba(247, 234, 214, .90) !important;
    }

    .rp-pass-stat i {
        color: #fff !important;
        background: linear-gradient(115deg, var(--rp-stu-blue-700), var(--rp-stu-copper-600)) !important;
    }

    /* =========================================================
       Student login page
       ========================================================= */
    body.rp-student-login-art-body {
        min-height: 100vh;
        color: var(--rp-stu-ink) !important;
        background-image:
            linear-gradient(135deg, rgba(8, 43, 63, .90), rgba(22, 78, 107, .69) 48%, rgba(169, 82, 49, .71)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        background-attachment: fixed !important;
    }

    body.rp-student-login-art-body .auo-header {
        width: min(1420px, calc(100% - 28px));
        min-height: 122px;
        margin: 14px auto 0;
        padding: 18px 28px;
        color: #fff;
        border: 1px solid var(--rp-stu-white-line);
        border-bottom: 0;
        border-radius: 24px 24px 0 0;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .96), rgba(12, 58, 81, .82) 52%, rgba(133, 63, 36, .68)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center 45% !important;
        box-shadow: 0 22px 60px rgba(0, 16, 29, .32);
    }

    body.rp-student-login-art-body .auo-header h1 {
        color: #fff;
        font-size: clamp(27px, 3vw, 39px);
        text-shadow: 0 3px 15px rgba(0, 13, 23, .48);
    }

    body.rp-student-login-art-body .auo-header h2 {
        color: #ffdda3;
        font-size: clamp(18px, 1.8vw, 24px);
    }

    body.rp-student-login-art-body .auo-header img {
        width: 88px !important;
        height: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        max-height: 88px !important;
        padding: 4px;
        border: 3px solid rgba(255, 221, 163, .90) !important;
        background: rgba(255, 255, 255, .95) !important;
        box-shadow: 0 14px 34px rgba(0, 18, 31, .34);
    }

    body.rp-student-login-art-body .auo-main {
        width: min(1420px, calc(100% - 28px));
        min-height: calc(100vh - 158px);
        margin: 0 auto 14px;
        padding: 18px 20px 24px;
        border: 1px solid var(--rp-stu-white-line);
        border-top: 1px solid rgba(255, 255, 255, .28);
        border-radius: 0 0 24px 24px;
        background: rgba(245, 249, 249, .82);
        box-shadow: 0 26px 70px rgba(0, 16, 29, .34);
        backdrop-filter: blur(17px) saturate(116%);
        -webkit-backdrop-filter: blur(17px) saturate(116%);
    }

    body.rp-student-login-art-body .auo-block,
    body.rp-student-login-art-body .auo-note,
    body.rp-student-login-art-body .auo-panel,
    body.rp-student-login-art-body .auo-links a {
        overflow: hidden;
        border: 1px solid var(--rp-stu-white-line) !important;
        border-radius: 16px !important;
        color: var(--rp-stu-ink) !important;
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(247, 234, 214, .89)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: var(--rp-stu-soft-shadow);
    }

    body.rp-student-login-art-body .auo-returning,
    body.rp-student-login-art-body .auo-note,
    body.rp-student-login-art-body .auo-links a:nth-child(even) {
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .95), rgba(201, 224, 230, .88)),
            var(--rp-stu-art-image) !important;
    }

    body.rp-student-login-art-body .auo-block h3,
    body.rp-student-login-art-body .auo-panel-title {
        margin: 0 0 10px;
        padding: 9px 12px;
        color: #fff !important;
        border: 0 !important;
        border-radius: 11px;
        background-image:
            linear-gradient(105deg, rgba(13, 56, 81, .98), rgba(45, 112, 140, .95), rgba(129, 59, 42, .93)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }

    body.rp-student-login-art-body .auo-note {
        border-left: 5px solid var(--rp-stu-amber-500) !important;
        color: var(--rp-stu-navy-950) !important;
    }

    body.rp-student-login-art-body .auo-panel {
        border-top: 5px solid var(--rp-stu-amber-500) !important;
    }

    body.rp-student-login-art-body .auo-form {
        padding: 12px;
    }

    body.rp-student-login-art-body .auo-row label {
        color: var(--rp-stu-navy-950) !important;
        border: 1px solid rgba(22, 78, 107, .22) !important;
        border-radius: 10px;
        background: rgba(247, 234, 214, .75) !important;
        font-weight: 850;
    }

    body.rp-student-login-art-body .auo-row input {
        color: var(--rp-stu-ink) !important;
        border: 1px solid rgba(22, 78, 107, .28) !important;
        border-radius: 10px;
        background: rgba(255, 255, 255, .92) !important;
    }

    body.rp-student-login-art-body .auo-row input:focus {
        border-color: var(--rp-stu-blue-700) !important;
        outline: none;
        box-shadow: 0 0 0 4px rgba(45, 112, 140, .15);
    }

    body.rp-student-login-art-body .auo-action button {
        min-height: 40px;
        padding: 8px 18px;
        color: #fff;
        border: 1px solid rgba(255, 221, 163, .55);
        border-radius: 11px;
        background-image:
            linear-gradient(110deg, rgba(13, 56, 81, .98), rgba(45, 112, 140, .95), rgba(169, 82, 49, .93)),
            var(--rp-stu-art-image);
        background-size: cover;
        font-weight: 900;
        box-shadow: 0 8px 19px rgba(3, 27, 42, .17);
    }

    body.rp-student-login-art-body .auo-action button:hover,
    body.rp-student-login-art-body .auo-links a:hover {
        color: #fff !important;
        background-image:
            linear-gradient(110deg, rgba(220, 139, 44, .97), rgba(169, 82, 49, .95)),
            var(--rp-stu-art-image) !important;
    }

    body.rp-student-login-art-body .auo-help {
        margin: 0 12px 12px;
        padding: 10px 0 0;
        border-top: 1px dashed rgba(22, 78, 107, .30) !important;
        color: var(--rp-stu-muted);
    }

    body.rp-student-login-art-body a {
        color: var(--rp-stu-copper-700);
    }

    /* =========================================================
       Legacy student workspace base, retained for compatibility
       ========================================================= */
    body.rp-student-legacy-art-body {
        min-height: 100vh;
        background-image:
            linear-gradient(135deg, rgba(8, 43, 63, .90), rgba(22, 78, 107, .70) 48%, rgba(169, 82, 49, .70)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
        background-position: center !important;
        background-attachment: fixed !important;
    }

    body.rp-student-legacy-art-body .pgfix-shell {
        width: min(1480px, calc(100% - 28px));
        margin: 14px auto;
        overflow: hidden;
        border: 1px solid var(--rp-stu-white-line);
        border-radius: 24px;
        background: rgba(245, 249, 249, .82);
        box-shadow: 0 28px 80px rgba(0, 16, 29, .38);
        backdrop-filter: blur(17px);
        -webkit-backdrop-filter: blur(17px);
    }

    body.rp-student-legacy-art-body .pgfix-header,
    body.rp-student-legacy-art-body .pgfix-nav {
        color: #fff;
        background-image:
            linear-gradient(105deg, rgba(6, 38, 57, .96), rgba(12, 58, 81, .84), rgba(133, 63, 36, .70)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }

    body.rp-student-legacy-art-body .pgfix-content,
    body.rp-student-legacy-art-body .pg-card,
    body.rp-student-legacy-art-body .pgfix-page-title {
        background-image:
            linear-gradient(128deg, rgba(255, 255, 255, .94), rgba(247, 234, 214, .86)),
            var(--rp-stu-art-image) !important;
        background-size: cover !important;
    }
}

    /* =========================================================
       Responsive refinements
       ========================================================= */
@media screen and (max-width: 900px) {
        body.rp-student-body,
        body.rp-student-futa-body,
        body.rp-student-login-art-body,
        body.rp-student-legacy-art-body {
            background-attachment: scroll !important;
        }

        .rp-student-page-shell,
        body.rp-student-login-art-body .auo-header,
        body.rp-student-login-art-body .auo-main,
        body.rp-student-legacy-art-body .pgfix-shell {
            width: calc(100% - 16px);
            margin-left: 8px;
            margin-right: 8px;
        }

        .rp-student-futa-header {
            padding: 16px 18px !important;
        }

        .rp-student-content-wrap {
            padding: 14px 12px 24px !important;
        }
    }

@media screen and (max-width: 720px) {
        .rp-student-page-shell,
        body.rp-student-login-art-body .auo-header,
        body.rp-student-login-art-body .auo-main,
        body.rp-student-legacy-art-body .pgfix-shell {
            width: 100%;
            margin: 0;
            border-left: 0;
            border-right: 0;
            border-radius: 0;
        }

        .rp-student-futa-header,
        body.rp-student-login-art-body .auo-header {
            border-radius: 0;
        }

        .rp-student-futa-header {
            gap: 11px;
            padding: 14px !important;
        }

        .rp-student-futa-header img {
            width: 72px !important;
            height: 72px !important;
            min-width: 72px !important;
            max-width: 72px !important;
            max-height: 72px !important;
        }

        .rp-student-topnav {
            justify-content: flex-start !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            padding: 7px 9px !important;
        }

        .rp-student-submenu {
            left: 8px !important;
            right: 8px !important;
            width: auto !important;
        }

        .rp-student-identity-strip {
            grid-template-columns: 60px minmax(0, 1fr) !important;
        }

        .rp-student-identity-meta {
            grid-column: 1 / -1;
            padding-top: 8px;
            border-top: 1px solid rgba(22, 78, 107, .14);
        }

        body.rp-student-login-art-body .auo-main {
            min-height: calc(100vh - 132px);
            border-radius: 0;
        }
    }
