/*
 * IRISE ICT Client Portal
 * Local precompiled Tailwind-style design system.
 * Page modules are scope-isolated; no runtime Tailwind CDN is required.
 */


/* Shared utility layer */
/* IRISE ICT Client Portal shared local utilities and accessibility rules. */
:root {
    --iup-blue: #075fc7;
    --iup-blue-dark: #0b2d73;
    --iup-red: #d70f35;
    --iup-ink: #0f172a;
    --iup-muted: #64748b;
    --iup-border: #e2e8f0;
    --iup-soft: #f6f9fc;
    color-scheme: light;
}
html.tw-scroll-smooth { scroll-behavior: smooth; }
body { font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid rgba(7,95,199,.35); outline-offset: 3px; }
.fa { line-height: 1; }
.tw-block { display: block !important; }
.tw-inline-flex { display: inline-flex !important; }
.tw-flex { display: flex !important; }
.tw-grid { display: grid !important; }
.tw-place-items-center { place-items: center !important; }
.tw-items-center { align-items: center !important; }
.tw-justify-center { justify-content: center !important; }
.tw-justify-between { justify-content: space-between !important; }
.tw-flex-wrap { flex-wrap: wrap !important; }
.tw-grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.tw-grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.tw-gap-2 { gap: .5rem !important; }
.tw-gap-3 { gap: .75rem !important; }
.tw-gap-4 { gap: 1rem !important; }
.tw-gap-6 { gap: 1.5rem !important; }
.tw-space-y-3 > * + * { margin-top: .75rem !important; }
.tw-space-y-6 > * + * { margin-top: 1.5rem !important; }
.tw-relative { position: relative !important; }
.tw-z-\[1\] { z-index: 1 !important; }
.tw-min-w-0 { min-width: 0 !important; }
.tw-min-w-\[680px\] { min-width: 680px !important; }
.tw-w-10 { width: 2.5rem !important; }
.tw-w-full { width: 100% !important; }
.tw-h-10 { height: 2.5rem !important; }
.tw-overflow-x-auto { overflow-x: auto !important; }
.tw-m-0 { margin: 0 !important; }
.tw-mt-1 { margin-top: .25rem !important; }
.tw-mt-2 { margin-top: .5rem !important; }
.tw-mt-3 { margin-top: .75rem !important; }
.tw-mt-4 { margin-top: 1rem !important; }
.tw-mt-5 { margin-top: 1.25rem !important; }
.tw-mt-6 { margin-top: 1.5rem !important; }
.tw-mb-1 { margin-bottom: .25rem !important; }
.tw-mb-5 { margin-bottom: 1.25rem !important; }
.tw-ml-auto { margin-left: auto !important; }
.tw-mr-2 { margin-right: .5rem !important; }
.tw-p-3 { padding: .75rem !important; }
.tw-p-4 { padding: 1rem !important; }
.tw-p-5 { padding: 1.25rem !important; }
.tw-p-6 { padding: 1.5rem !important; }
.tw-p-8 { padding: 2rem !important; }
.tw-px-3 { padding-left: .75rem !important; padding-right: .75rem !important; }
.tw-px-5 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
.tw-px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.tw-py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.tw-py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.tw-py-3 { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.tw-py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.tw-pl-5 { padding-left: 1.25rem !important; }
.tw-border { border-width: 1px !important; border-style: solid !important; }
.tw-border-b { border-bottom-width: 1px !important; border-bottom-style: solid !important; }
.tw-border-slate-100 { border-color: #f1f5f9 !important; }
.tw-border-slate-200 { border-color: #e2e8f0 !important; }
.tw-border-slate-300 { border-color: #cbd5e1 !important; }
.tw-border-blue-200 { border-color: #bfdbfe !important; }
.tw-border-emerald-200 { border-color: #a7f3d0 !important; }
.tw-border-rose-200 { border-color: #fecdd3 !important; }
.tw-border-white\/10 { border-color: rgba(255,255,255,.10) !important; }
.tw-bg-white { background-color: #fff !important; }
.tw-bg-white\/10 { background-color: rgba(255,255,255,.10) !important; }
.tw-bg-blue-50 { background-color: #eff6ff !important; }
.tw-bg-blue-700 { background-color: #1d4ed8 !important; }
.tw-bg-emerald-50 { background-color: #ecfdf5 !important; }
.tw-bg-rose-50 { background-color: #fff1f2 !important; }
.tw-rounded-xl { border-radius: .75rem !important; }
.tw-rounded-2xl { border-radius: 1rem !important; }
.tw-rounded-3xl { border-radius: 1.5rem !important; }
.tw-rounded-\[22px\] { border-radius: 22px !important; }
.tw-rounded-\[2rem\] { border-radius: 2rem !important; }
.tw-rounded-full { border-radius: 999px !important; }
.tw-shadow-xl { box-shadow: 0 20px 45px rgba(15,23,42,.10) !important; }
.tw-shadow-slate-200\/60 { box-shadow: 0 20px 45px rgba(226,232,240,.60) !important; }
.tw-text-left { text-align: left !important; }
.tw-text-xs { font-size: .75rem !important; }
.tw-text-sm { font-size: .875rem !important; }
.tw-text-xl { font-size: 1.25rem !important; }
.tw-text-2xl { font-size: 1.5rem !important; }
.tw-text-white { color: #fff !important; }
.tw-text-white\/70 { color: rgba(255,255,255,.70) !important; }
.tw-text-white\/85 { color: rgba(255,255,255,.85) !important; }
.tw-text-slate-500 { color: #64748b !important; }
.tw-text-slate-950 { color: #020617 !important; }
.tw-text-blue-700 { color: #1d4ed8 !important; }
.tw-text-blue-950 { color: #172554 !important; }
.tw-text-emerald-800 { color: #065f46 !important; }
.tw-text-rose-800 { color: #9f1239 !important; }
.tw-font-bold { font-weight: 700 !important; }
.tw-font-extrabold { font-weight: 800 !important; }
.tw-font-black { font-weight: 900 !important; }
.tw-leading-6 { line-height: 1.5rem !important; }
.tw-tracking-tight { letter-spacing: -.025em !important; }
.tw-tracking-wide { letter-spacing: .025em !important; }
.tw-tracking-wider { letter-spacing: .05em !important; }
.tw-tracking-\[0\.22em\] { letter-spacing: .22em !important; }
.tw-uppercase { text-transform: uppercase !important; }
.tw-list-disc { list-style-type: disc !important; }
.tw-truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.tw-animate-floaty { animation: iupFloat 7s ease-in-out infinite; }
.hover\:tw-bg-white\/10:hover { background-color: rgba(255,255,255,.10) !important; }
.hover\:tw-text-white:hover { color: #fff !important; }
@keyframes iupFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (min-width: 640px) { .sm\:tw-p-6 { padding: 1.5rem !important; } }
@media (min-width: 768px) {
    .md\:tw-grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .md\:tw-grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
    .md\:tw-col-span-2 { grid-column: span 2 / span 2 !important; }
}
@media (min-width: 1024px) { .lg\:tw-p-8 { padding: 2rem !important; } }
@media (min-width: 1280px) { .xl\:tw-grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media (prefers-reduced-motion: reduce) {
    html.tw-scroll-smooth { scroll-behavior: auto; }
    .tw-animate-floaty { animation: none !important; }
}
.tw-col-span-2 { grid-column: span 2 / span 2 !important; }
.tw-bg-amber-50 { background-color: #fffbeb !important; }
.tw-border-amber-200 { border-color: #fde68a !important; }
.tw-text-amber-700 { color: #b45309 !important; }
.tw-text-emerald-700 { color: #047857 !important; }
.tw-text-rose-700 { color: #be123c !important; }

/* Scoped module: account-status.php (1) */
body.portal-page-account-status{
            --brand-navy: #071426;
            --brand-navy-soft: #102442;
            --brand-blue: #1261d8;
            --brand-blue-dark: #0a459f;
            --brand-red: #d83a4e;
            --surface: #f5f8fc;
            --surface-alt: #eef3f9;
            --white: #ffffff;
            --text: #102033;
            --text-muted: #617084;
            --border: #dce5ef;
            --success: #087a55;
            --success-bg: #ecfdf5;
            --warning: #95620a;
            --warning-bg: #fffbeb;
            --danger: #b4233d;
            --danger-bg: #fff1f2;
            --shadow: 0 24px 70px rgba(7, 20, 38, .14);
            --font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-account-status *{
            box-sizing: border-box;
        }
body.portal-page-account-status{
            min-height: 100%;
            background: var(--surface);
        }
body.portal-page-account-status{
            min-height: 100vh;
            margin: 0;
            color: var(--text);
            background:
                radial-gradient(circle at 8% 8%, rgba(18, 97, 216, .12), transparent 30%),
                radial-gradient(circle at 94% 4%, rgba(216, 58, 78, .09), transparent 25%),
                linear-gradient(180deg, var(--white) 0%, var(--surface) 52%, var(--surface-alt) 100%);
            font-family: var(--font);
        }
body.portal-page-account-status a{
            color: inherit;
            text-decoration: none;
        }
body.portal-page-account-status button,
body.portal-page-account-status input{
            font: inherit;
        }
body.portal-page-account-status .status-page{
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 28px;
        }
body.portal-page-account-status .status-shell{
            width: min(100%, 1080px);
            display: grid;
            grid-template-columns: minmax(0, .98fr) minmax(360px, .72fr);
            overflow: hidden;
            border: 1px solid rgba(7, 20, 38, .09);
            border-radius: 30px;
            background: var(--white);
            box-shadow: var(--shadow);
        }
body.portal-page-account-status .status-overview{
            position: relative;
            min-height: 620px;
            padding: 48px;
            color: var(--white);
            background:
                radial-gradient(circle at 12% 12%, rgba(216, 58, 78, .30), transparent 30%),
                radial-gradient(circle at 92% 18%, rgba(18, 97, 216, .34), transparent 34%),
                linear-gradient(140deg, var(--brand-navy) 0%, var(--brand-navy-soft) 58%, #173b73 100%);
        }
body.portal-page-account-status .status-overview::after{
            content: "";
            position: absolute;
            inset: auto -90px -100px auto;
            width: 300px;
            height: 300px;
            border-radius: 50%;
            border: 54px solid rgba(255, 255, 255, .035);
            pointer-events: none;
        }
body.portal-page-account-status .status-logo{
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            border-radius: 18px;
            background: var(--white);
            padding: 10px 14px;
            box-shadow: 0 16px 40px rgba(0, 0, 0, .20);
        }
body.portal-page-account-status .status-logo img{
            display: block;
            width: auto;
            height: 48px;
            max-width: 200px;
            object-fit: contain;
        }
body.portal-page-account-status .status-overview h1{
            position: relative;
            z-index: 1;
            max-width: 620px;
            margin: 52px 0 0;
            color: var(--white);
            font-size: clamp(2.45rem, 5.4vw, 4.5rem);
            font-weight: 800;
            letter-spacing: -.055em;
            line-height: 1.02;
        }
body.portal-page-account-status .status-overview > p{
            position: relative;
            z-index: 1;
            max-width: 590px;
            margin: 20px 0 0;
            color: rgba(235, 243, 255, .86);
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.82;
        }
body.portal-page-account-status .status-guidance{
            position: relative;
            z-index: 1;
            display: grid;
            gap: 12px;
            margin-top: 34px;
        }
body.portal-page-account-status .status-guidance-item{
            display: grid;
            grid-template-columns: 44px minmax(0, 1fr);
            align-items: center;
            gap: 13px;
            border: 1px solid rgba(255, 255, 255, .13);
            border-radius: 18px;
            background: rgba(255, 255, 255, .075);
            padding: 14px;
        }
body.portal-page-account-status .status-guidance-icon{
            display: grid;
            place-items: center;
            width: 44px;
            height: 44px;
            border-radius: 14px;
            background: rgba(255, 255, 255, .12);
            color: var(--white);
            font-size: 1.1rem;
        }
body.portal-page-account-status .status-guidance-item strong{
            display: block;
            color: var(--white);
            font-size: .91rem;
            font-weight: 800;
            line-height: 1.3;
        }
body.portal-page-account-status .status-guidance-item p{
            margin: 4px 0 0;
            color: rgba(235, 243, 255, .67);
            font-size: .78rem;
            font-weight: 600;
            line-height: 1.5;
        }
body.portal-page-account-status .status-panel{
            display: grid;
            align-content: center;
            padding: 46px;
            background:
                radial-gradient(circle at 100% 0%, rgba(18, 97, 216, .07), transparent 30%),
                var(--white);
        }
body.portal-page-account-status .status-panel-header{
            margin-bottom: 24px;
        }
body.portal-page-account-status .status-panel-header h2{
            margin: 0;
            color: var(--text);
            font-size: 2rem;
            font-weight: 800;
            letter-spacing: -.04em;
            line-height: 1.12;
        }
body.portal-page-account-status .status-panel-header p{
            margin: 11px 0 0;
            color: var(--text-muted);
            font-size: .9rem;
            font-weight: 600;
            line-height: 1.7;
        }
body.portal-page-account-status .status-alert{
            display: grid;
            grid-template-columns: 26px minmax(0, 1fr);
            gap: 11px;
            margin-bottom: 18px;
            border-radius: 16px;
            padding: 14px;
            font-size: .86rem;
            font-weight: 650;
            line-height: 1.55;
        }
body.portal-page-account-status .status-alert > i{
            padding-top: 2px;
            font-size: 1.15rem;
        }
body.portal-page-account-status .status-alert-error{
            border: 1px solid #fecdd3;
            background: var(--danger-bg);
            color: var(--danger);
        }
body.portal-page-account-status .status-result{
            border: 1px solid #fde68a;
            background: var(--warning-bg);
            color: var(--warning);
        }
body.portal-page-account-status .status-result.is-approved{
            border-color: #bbf7d0;
            background: var(--success-bg);
            color: var(--success);
        }
body.portal-page-account-status .status-result.is-rejected{
            border-color: #fecdd3;
            background: var(--danger-bg);
            color: var(--danger);
        }
body.portal-page-account-status .status-result.is-inactive{
            border-color: #cbd5e1;
            background: #f8fafc;
            color: #475569;
        }
body.portal-page-account-status .status-result strong{
            display: block;
            color: inherit;
            font-weight: 800;
        }
body.portal-page-account-status .status-result p{
            margin: 4px 0 0;
            color: inherit;
            font-size: .78rem;
            font-weight: 650;
            line-height: 1.5;
            opacity: .88;
        }
body.portal-page-account-status .status-form{
            display: grid;
            gap: 14px;
        }
body.portal-page-account-status .status-field{
            display: grid;
            gap: 8px;
        }
body.portal-page-account-status .status-field label{
            color: #334155;
            font-size: .8rem;
            font-weight: 800;
        }
body.portal-page-account-status .status-input-area{
            position: relative;
        }
body.portal-page-account-status .status-input-area i{
            position: absolute;
            top: 50%;
            left: 17px;
            transform: translateY(-50%);
            color: #8b9ab0;
            font-size: 1rem;
            pointer-events: none;
        }
body.portal-page-account-status .status-input{
            width: 100%;
            height: 56px;
            border: 1px solid var(--border);
            border-radius: 15px;
            outline: none;
            background: #f8fafc;
            color: var(--text);
            padding: 0 16px 0 48px;
            font-size: .94rem;
            font-weight: 700;
            transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
        }
body.portal-page-account-status .status-input:focus{
            border-color: var(--brand-blue);
            background: var(--white);
            box-shadow: 0 0 0 4px rgba(18, 97, 216, .12);
        }
body.portal-page-account-status .status-turnstile{
            display: flex;
            justify-content: center;
            min-height: 66px;
            padding-top: 2px;
        }
body.portal-page-account-status .status-button,
body.portal-page-account-status .status-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            min-height: 54px;
            border-radius: 15px;
            font-size: .9rem;
            font-weight: 800;
            text-align: center;
            transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
        }
body.portal-page-account-status .status-button{
            border: 0;
            background: var(--brand-blue);
            color: var(--white);
            cursor: pointer;
            box-shadow: 0 16px 34px rgba(18, 97, 216, .22);
        }
body.portal-page-account-status .status-button:hover,
body.portal-page-account-status .status-button:focus{
            background: var(--brand-blue-dark);
            transform: translateY(-2px);
        }
body.portal-page-account-status .status-button:disabled{
            cursor: wait;
            opacity: .72;
            transform: none;
        }
body.portal-page-account-status .status-links{
            display: grid;
            gap: 10px;
            margin-top: 14px;
        }
body.portal-page-account-status .status-link{
            border: 1px solid rgba(18, 97, 216, .24);
            background: var(--white);
            color: var(--brand-blue);
        }
body.portal-page-account-status .status-link:hover,
body.portal-page-account-status .status-link:focus{
            background: #f2f7ff;
            transform: translateY(-2px);
        }
body.portal-page-account-status .status-link-secondary{
            border-color: var(--border);
            color: #526176;
        }
body.portal-page-account-status .status-support{
            margin: 20px 0 0;
            color: var(--text-muted);
            font-size: .78rem;
            font-weight: 600;
            line-height: 1.55;
            text-align: center;
        }
body.portal-page-account-status .status-support a{
            color: var(--brand-blue);
            font-weight: 800;
        }
@media (max-width: 980px){body.portal-page-account-status .status-shell{
                grid-template-columns: 1fr;
            }
body.portal-page-account-status .status-overview{
                min-height: auto;
            }}
@media (max-width: 640px){body.portal-page-account-status .status-page{
                place-items: stretch;
                padding: 12px;
            }
body.portal-page-account-status .status-shell{
                border-radius: 22px;
            }
body.portal-page-account-status .status-overview,
body.portal-page-account-status .status-panel{
                padding: 26px;
            }
body.portal-page-account-status .status-logo img{
                height: 40px;
                max-width: 170px;
            }
body.portal-page-account-status .status-overview h1{
                margin-top: 34px;
                font-size: 2.25rem;
            }
body.portal-page-account-status .status-guidance{
                margin-top: 24px;
            }}
@media (prefers-reduced-motion: reduce){body.portal-page-account-status .status-button,
body.portal-page-account-status .status-link{
                transition: none;
            }}

/* Scoped module: activity.php (1) */
body.portal-page-activity .iua{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-activity .iua *{
        box-sizing: border-box;
    }
body.portal-page-activity .iua-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-activity .iua-hero-inner{
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    }
body.portal-page-activity .iua-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 52%, #075fc7 100%);
    }
body.portal-page-activity .iua-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-activity .iua-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-activity .iua-title{
        max-width: 700px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 48px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-activity .iua-copy{
        max-width: 650px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-activity .iua-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-activity .iua-snapshot{
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-activity .iua-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-activity .iua-big{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 34px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-activity .iua-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-activity .iua-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-activity .iua-stat{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-activity .iua-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
body.portal-page-activity .iua-stat-icon{
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 16px;
        color: #fff;
        background: #075fc7;
        font-size: 21px;
    }
body.portal-page-activity .iua-stat-icon.is-green{
        background: #059669;
    }
body.portal-page-activity .iua-stat-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-activity .iua-stat-icon.is-rose{
        background: #e11d48;
    }
body.portal-page-activity .iua-stat-value{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-activity .iua-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-activity .iua-panel-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-activity .iua-panel-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-activity .iua-search{
        position: relative;
        width: 320px;
        max-width: 100%;
    }
body.portal-page-activity .iua-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-activity .iua-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-activity .iua-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-activity .iua-timeline{
        position: relative;
        display: grid;
        gap: 12px;
    }
body.portal-page-activity .iua-event{
        position: relative;
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 13px;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 14px;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
body.portal-page-activity .iua-event:hover{
        transform: translateY(-2px);
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-activity .iua-event-icon{
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        border-radius: 18px;
        color: #fff;
        background: #075fc7;
        font-size: 22px;
    }
body.portal-page-activity .iua-event-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-activity .iua-event-icon.is-indigo{
        background: #4f46e5;
    }
body.portal-page-activity .iua-event-icon.is-green,
body.portal-page-activity .iua-event-icon.is-emerald{
        background: #059669;
    }
body.portal-page-activity .iua-event-icon.is-rose{
        background: #e11d48;
    }
body.portal-page-activity .iua-event-icon.is-cyan{
        background: #0891b2;
    }
body.portal-page-activity .iua-event-icon.is-slate{
        background: #475569;
    }
body.portal-page-activity .iua-event-icon.is-violet{
        background: #7c3aed;
    }
body.portal-page-activity .iua-event-title-row{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
body.portal-page-activity .iua-event-title{
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 800;
    }
body.portal-page-activity .iua-event-date{
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
    }
body.portal-page-activity .iua-event-description{
        margin: 5px 0 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-activity .iua-event-meta{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }
body.portal-page-activity .iua-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-activity .iua-badge.is-status{
        background: #f1f5f9;
        color: #475569;
    }
body.portal-page-activity .iua-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 24px;
        background: #f8fafc;
        padding: 36px 18px;
        text-align: center;
    }
body.portal-page-activity .iua-empty i{
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        margin: 0 auto 12px;
        border-radius: 20px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 28px;
    }
body.portal-page-activity .iua-empty strong{
        display: block;
        color: #0f172a;
        font-size: 18px;
        font-weight: 800;
    }
body.portal-page-activity .iua-empty b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 14px;
        font-weight: 600;
    }
@media (max-width: 980px){body.portal-page-activity .iua-hero-inner{
            grid-template-columns: 1fr;
        }
body.portal-page-activity .iua-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 640px){body.portal-page-activity .iua{
            gap: 16px;
        }
body.portal-page-activity .iua-hero,
body.portal-page-activity .iua-panel{
            border-radius: 22px;
        }
body.portal-page-activity .iua-hero-main,
body.portal-page-activity .iua-hero-side,
body.portal-page-activity .iua-panel{
            padding: 18px;
        }
body.portal-page-activity .iua-title{
            font-size: 30px;
        }
body.portal-page-activity .iua-stat-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-activity .iua-search{
            width: 100%;
        }
body.portal-page-activity .iua-event{
            grid-template-columns: 1fr;
        }
body.portal-page-activity .iua-event-icon{
            width: 44px;
            height: 44px;
        }}

/* Scoped module: billing.php (1) */
body.portal-page-billing .iub{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-billing .iub *{
        box-sizing: border-box;
    }
body.portal-page-billing .iub a{
        text-decoration: none;
    }
body.portal-page-billing .iub-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-billing .iub-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    }
body.portal-page-billing .iub-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-billing .iub-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-billing .iub-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-billing .iub-title{
        max-width: 720px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-billing .iub-copy{
        max-width: 680px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-billing .iub-quick{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 26px;
    }
body.portal-page-billing .iub-action{
        display: flex;
        gap: 12px;
        align-items: center;
        min-height: 78px;
        border-radius: 20px;
        background: #fff;
        color: #0f172a;
        padding: 14px;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .20);
        transition: transform .2s ease, box-shadow .2s ease;
    }
body.portal-page-billing .iub-action:hover{
        transform: translateY(-3px);
        box-shadow: 0 22px 48px rgba(2, 6, 23, .26);
    }
body.portal-page-billing .iub-action-icon{
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 20px;
        font-weight: 800;
    }
body.portal-page-billing .iub-action strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 800;
    }
body.portal-page-billing .iub-action small{
        display: block;
        margin-top: 3px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 650;
    }
body.portal-page-billing .iub-hero-side{
        display: grid;
        align-content: space-between;
        gap: 18px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-billing .iub-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-billing .iub-money{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 32px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-billing .iub-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-billing .iub-mini-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
body.portal-page-billing .iub-mini{
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #fff;
        padding: 16px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-billing .iub-mini b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-billing .iub-mini b{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 24px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-billing .iub-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-billing .iub-stat{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-billing .iub-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
body.portal-page-billing .iub-stat-icon{
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 16px;
        color: #fff;
        background: #075fc7;
        font-size: 21px;
    }
body.portal-page-billing .iub-stat-icon.is-green{
        background: #059669;
    }
body.portal-page-billing .iub-stat-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-billing .iub-stat-icon.is-rose{
        background: #e11d48;
    }
body.portal-page-billing .iub-stat-icon.is-indigo{
        background: #4f46e5;
    }
body.portal-page-billing .iub-stat-value{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-billing .iub-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-billing .iub-card{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-billing .iub-card-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-billing .iub-instructions{
        display: grid;
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-billing .iub-instruction{
        display: flex;
        gap: 12px;
        align-items: flex-start;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 15px;
    }
body.portal-page-billing .iub-instruction i{
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 20px;
    }
body.portal-page-billing .iub-instruction strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.3;
        font-weight: 800;
    }
body.portal-page-billing .iub-instruction b{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
    }
body.portal-page-billing .iub-list{
        display: grid;
        gap: 10px;
        margin-top: 18px;
    }
body.portal-page-billing .iub-list-item{
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 14px;
    }
body.portal-page-billing .iub-list-item strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 800;
    }
body.portal-page-billing .iub-list-item small{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.45;
        font-weight: 600;
    }
body.portal-page-billing .iub-list-amount{
        text-align: right;
        color: #0f172a;
        font-size: 14px;
        font-weight: 800;
    }
body.portal-page-billing .iub-status{
        display: inline-flex;
        margin-top: 7px;
        border-radius: 999px;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }
body.portal-page-billing .iub-status.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-billing .iub-status.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-billing .iub-status.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-billing .iub-status.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-billing .iub-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 20px;
        background: #f8fafc;
        padding: 24px;
        text-align: center;
        color: #64748b;
        font-size: 14px;
        font-weight: 650;
    }
body.portal-page-billing .iub-button-grid{
        display: grid;
        gap: 10px;
        margin-top: 18px;
    }
body.portal-page-billing .iub-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 50px;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-billing .iub-button.secondary{
        border: 1px solid #bfdbfe;
        background: #fff;
        color: #075fc7;
        box-shadow: none;
    }
@media (max-width: 1080px){body.portal-page-billing .iub-hero-grid,
body.portal-page-billing .iub-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-billing .iub-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 700px){body.portal-page-billing .iub{
            gap: 16px;
        }
body.portal-page-billing .iub-hero,
body.portal-page-billing .iub-card{
            border-radius: 22px;
        }
body.portal-page-billing .iub-hero-main,
body.portal-page-billing .iub-hero-side,
body.portal-page-billing .iub-card{
            padding: 18px;
        }
body.portal-page-billing .iub-title{
            font-size: 30px;
        }
body.portal-page-billing .iub-quick,
body.portal-page-billing .iub-mini-grid,
body.portal-page-billing .iub-stat-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-billing .iub-list-item{
            grid-template-columns: 1fr;
        }
body.portal-page-billing .iub-list-amount{
            text-align: left;
        }}

/* Scoped module: dashboard.php (1) */
body.portal-page-dashboard .iudx{
        display: grid;
        gap: 22px;
        max-width: 1240px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-dashboard .iudx *{ box-sizing: border-box; }
body.portal-page-dashboard .iudx a{ text-decoration: none; }
body.portal-page-dashboard .iudx-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-dashboard .iudx-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.34fr) minmax(320px, .66fr);
    }
body.portal-page-dashboard .iudx-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 26%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-dashboard .iudx-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-dashboard .iudx-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-dashboard .iudx-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 48px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-copy{
        max-width: 680px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-dashboard .iudx-actions{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 26px;
    }
body.portal-page-dashboard .iudx-action{
        display: flex;
        gap: 12px;
        align-items: center;
        min-height: 78px;
        border-radius: 20px;
        background: #fff;
        color: #0f172a;
        padding: 14px;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .20);
        transition: transform .2s ease, box-shadow .2s ease;
    }
body.portal-page-dashboard .iudx-action:hover{
        transform: translateY(-3px);
        box-shadow: 0 22px 48px rgba(2, 6, 23, .26);
    }
body.portal-page-dashboard .iudx-action-icon{
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 20px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-action strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-action small{
        display: block;
        margin-top: 3px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 650;
    }
body.portal-page-dashboard .iudx-side{
        display: grid;
        align-content: space-between;
        gap: 18px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-dashboard .iudx-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-dashboard .iudx-money{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 32px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-dashboard .iudx-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-dashboard .iudx-mini-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
body.portal-page-dashboard .iudx-mini{
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #fff;
        padding: 16px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
        transition: transform .2s ease;
    }
body.portal-page-dashboard .iudx-mini:hover{ transform: translateY(-2px); }
body.portal-page-dashboard .iudx-mini b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-dashboard .iudx-mini b{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 24px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-note{
        border: 1px solid #bfdbfe;
        border-radius: 20px;
        background: #eff6ff;
        padding: 16px;
        color: #0b2d73;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 700;
    }
body.portal-page-dashboard .iudx-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-dashboard .iudx-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-dashboard .iudx-stat{
        display: block;
        padding: 20px;
        transition: transform .2s ease, box-shadow .2s ease;
    }
body.portal-page-dashboard .iudx-stat:hover{
        transform: translateY(-3px);
        box-shadow: 0 24px 60px rgba(15, 23, 42, .12);
    }
body.portal-page-dashboard .iudx-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
    }
body.portal-page-dashboard .iudx-stat-value{
        display: block;
        margin-top: 9px;
        color: #0f172a;
        font-size: 34px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-stat-icon{
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        border-radius: 17px;
        color: #fff;
        font-size: 21px;
    }
body.portal-page-dashboard .iudx-tone-blue{ background: #2563eb; }
body.portal-page-dashboard .iudx-tone-green{ background: #059669; }
body.portal-page-dashboard .iudx-tone-red{ background: #e11d48; }
body.portal-page-dashboard .iudx-tone-amber{ background: #f59e0b; }
body.portal-page-dashboard .iudx-two{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(360px, 390px);
        gap: 18px;
        align-items: start;
    }
body.portal-page-dashboard .iudx-section{ padding: 22px; }
body.portal-page-dashboard .iudx-section-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-dashboard .iudx-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-dashboard .iudx-search{
        position: relative;
        width: 320px;
        max-width: 100%;
    }
body.portal-page-dashboard .iudx-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-dashboard .iudx-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-dashboard .iudx-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-dashboard .iudx-page-group{
        border: 1px solid #e2e8f0;
        border-radius: 23px;
        background: #f8fafc;
        padding: 16px;
        margin-top: 14px;
    }
body.portal-page-dashboard .iudx-page-group-title{
        margin: 0 0 12px;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .13em;
        text-transform: uppercase;
    }
body.portal-page-dashboard .iudx-page-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
body.portal-page-dashboard .iudx-page{
        position: relative;
        display: flex;
        gap: 12px;
        min-height: 106px;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #fff;
        color: #0f172a;
        padding: 15px;
        transition: transform .2s ease, box-shadow .2s ease;
    }
body.portal-page-dashboard .iudx-page:hover{
        transform: translateY(-3px);
        box-shadow: 0 14px 36px rgba(15, 23, 42, .10);
    }
body.portal-page-dashboard .iudx-page.is-disabled{ cursor: default; }
body.portal-page-dashboard .iudx-page-icon{
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 20px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-page strong{
        display: block;
        padding-right: 28px;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-page small{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.45;
        font-weight: 600;
    }
body.portal-page-dashboard .iudx-file-badge{
        display: inline-flex;
        margin-top: 9px;
        border-radius: 999px;
        padding: 5px 8px;
        background: #f1f5f9;
        color: #475569;
        font-size: 10px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-count{
        position: absolute;
        right: 12px;
        top: 12px;
        display: inline-grid;
        place-items: center;
        min-width: 24px;
        height: 24px;
        border-radius: 999px;
        background: #075fc7;
        color: #fff;
        padding: 0 7px;
        font-size: 11px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-tabs{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 16px;
    }
body.portal-page-dashboard .iudx-tab{
        border: 1px solid #e2e8f0;
        border-radius: 999px;
        background: #f8fafc;
        color: #475569;
        cursor: pointer;
        padding: 8px 12px;
        font-size: 12px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-tab.is-active{
        background: #075fc7;
        border-color: #075fc7;
        color: #fff;
    }
body.portal-page-dashboard .iudx-activity{ display: grid; gap: 10px; }
body.portal-page-dashboard .iudx-activity-item{
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        padding: 14px;
    }
body.portal-page-dashboard .iudx-activity-item strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-activity-item small{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.45;
        font-weight: 600;
    }
body.portal-page-dashboard .iudx-status{
        display: inline-flex;
        margin-top: 8px;
        border-radius: 999px;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }
body.portal-page-dashboard .iudx-status.is-green{ background: #ecfdf5; color: #047857; }
body.portal-page-dashboard .iudx-status.is-red{ background: #fff1f2; color: #be123c; }
body.portal-page-dashboard .iudx-status.is-blue{ background: #eff6ff; color: #1d4ed8; }
body.portal-page-dashboard .iudx-status.is-amber{ background: #fffbeb; color: #b45309; }
body.portal-page-dashboard .iudx-empty{
        border-radius: 17px;
        background: #f8fafc;
        color: #64748b;
        padding: 16px;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-dashboard .iudx-chart-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
        gap: 18px;
        align-items: stretch;
    }
body.portal-page-dashboard .iudx-chart-list{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-dashboard .iudx-chart-row{
        display: grid;
        grid-template-columns: 160px minmax(0, 1fr) 54px;
        align-items: center;
        gap: 14px;
    }
body.portal-page-dashboard .iudx-chart-label{
        display: flex;
        align-items: center;
        gap: 9px;
        min-width: 0;
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-chart-label i{
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        border-radius: 11px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 17px;
    }
body.portal-page-dashboard .iudx-chart-track{
        height: 13px;
        overflow: hidden;
        border-radius: 999px;
        background: #e2e8f0;
        box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
    }
body.portal-page-dashboard .iudx-chart-fill{
        height: 100%;
        min-width: 6px;
        border-radius: inherit;
        background: linear-gradient(90deg, #075fc7, #38bdf8);
        box-shadow: 0 8px 20px rgba(7, 95, 199, .20);
    }
body.portal-page-dashboard .iudx-chart-fill.is-green{ background: linear-gradient(90deg, #059669, #34d399); }
body.portal-page-dashboard .iudx-chart-fill.is-red{ background: linear-gradient(90deg, #e11d48, #fb7185); }
body.portal-page-dashboard .iudx-chart-fill.is-amber{ background: linear-gradient(90deg, #f59e0b, #fbbf24); }
body.portal-page-dashboard .iudx-chart-fill.is-indigo{ background: linear-gradient(90deg, #4f46e5, #818cf8); }
body.portal-page-dashboard .iudx-chart-fill.is-cyan{ background: linear-gradient(90deg, #0891b2, #22d3ee); }
body.portal-page-dashboard .iudx-chart-value{
        text-align: right;
        color: #0f172a;
        font-size: 14px;
        font-weight: 900;
    }
body.portal-page-dashboard .iudx-donut-wrap{
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 18px;
        align-items: center;
        margin-top: 18px;
    }
body.portal-page-dashboard .iudx-donut{
        width: 172px;
        height: 172px;
        border-radius: 50%;
        background:
            radial-gradient(circle at center, #ffffff 0 57%, transparent 58%),
            conic-gradient(#059669 0 var(--paid), #f59e0b var(--paid) 100%);
        border: 1px solid #e2e8f0;
        box-shadow: inset 0 0 0 10px #f8fafc, 0 16px 40px rgba(15, 23, 42, .09);
        display: grid;
        place-items: center;
    }
body.portal-page-dashboard .iudx-donut-center{
        text-align: center;
    }
body.portal-page-dashboard .iudx-donut-center strong{
        display: block;
        color: #0f172a;
        font-size: 28px;
        line-height: 1;
        font-weight: 900;
        letter-spacing: -.03em;
    }
body.portal-page-dashboard .iudx-donut-center small{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .08em;
    }
body.portal-page-dashboard .iudx-legend{
        display: grid;
        gap: 10px;
    }
body.portal-page-dashboard .iudx-legend-item{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        background: #f8fafc;
        padding: 12px;
    }
body.portal-page-dashboard .iudx-legend-left{
        display: flex;
        align-items: center;
        gap: 9px;
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-dashboard .iudx-dot{
        width: 11px;
        height: 11px;
        border-radius: 999px;
        background: #059669;
    }
body.portal-page-dashboard .iudx-dot.is-amber{
        background: #f59e0b;
    }
body.portal-page-dashboard .iudx-legend-value{
        color: #0f172a;
        font-size: 15px;
        font-weight: 900;
    }
body.portal-page-dashboard .iudx-stat-mini-grid{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-dashboard .iudx-stat-mini{
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        background: #f8fafc;
        padding: 14px;
    }
body.portal-page-dashboard .iudx-stat-mini b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
body.portal-page-dashboard .iudx-stat-mini b{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 22px;
        line-height: 1;
        font-weight: 900;
        letter-spacing: -.025em;
    }
@media (max-width: 1180px){body.portal-page-dashboard .iudx-hero-grid,
body.portal-page-dashboard .iudx-two,
body.portal-page-dashboard .iudx-chart-grid{ grid-template-columns: 1fr; }
body.portal-page-dashboard .iudx-stat-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }}
@media (max-width: 760px){body.portal-page-dashboard .iudx{ gap: 16px; }
body.portal-page-dashboard .iudx-hero,
body.portal-page-dashboard .iudx-card{ border-radius: 22px; }
body.portal-page-dashboard .iudx-hero-main,
body.portal-page-dashboard .iudx-side,
body.portal-page-dashboard .iudx-section{ padding: 18px; }
body.portal-page-dashboard .iudx-title{ font-size: 30px; }
body.portal-page-dashboard .iudx-actions,
body.portal-page-dashboard .iudx-mini-grid,
body.portal-page-dashboard .iudx-stat-grid,
body.portal-page-dashboard .iudx-page-grid,
body.portal-page-dashboard .iudx-stat-mini-grid,
body.portal-page-dashboard .iudx-donut-wrap,
body.portal-page-dashboard .iudx-chart-row{ grid-template-columns: 1fr; }
body.portal-page-dashboard .iudx-search{ width: 100%; }}

/* Scoped module: document-view.php (1) */
body.portal-page-document-view .iudv{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-document-view .iudv *{
        box-sizing: border-box;
    }
body.portal-page-document-view .iudv a{
        text-decoration: none;
    }
body.portal-page-document-view .iudv-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-document-view .iudv-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-document-view .iudv-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-document-view .iudv-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-document-view .iudv-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-document-view .iudv-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-document-view .iudv-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-document-view .iudv-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-document-view .iudv-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-document-view .iudv-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-document-view .iudv-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-document-view .iudv-file-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
        text-align: center;
    }
body.portal-page-document-view .iudv-file-icon{
        display: grid;
        place-items: center;
        width: 86px;
        height: 86px;
        margin: 0 auto 14px;
        border-radius: 28px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 44px;
    }
body.portal-page-document-view .iudv-file-card strong{
        display: block;
        color: #0f172a;
        font-size: 17px;
        line-height: 1.35;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-document-view .iudv-file-card b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.5;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-document-view .iudv-alert{
        display: flex;
        gap: 12px;
        border: 1px solid #fecdd3;
        border-radius: 22px;
        background: #fff1f2;
        color: #be123c;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(190, 18, 60, .08);
    }
body.portal-page-document-view .iudv-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-document-view .iudv-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-document-view .iudv-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-document-view .iudv-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-document-view .iudv-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-document-view .iudv-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-document-view .iudv-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-document-view .iudv-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.65;
        font-weight: 600;
    }
body.portal-page-document-view .iudv-meta-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-document-view .iudv-meta{
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 15px;
    }
body.portal-page-document-view .iudv-meta b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
body.portal-page-document-view .iudv-meta strong{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-document-view .iudv-status{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 6px 10px;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .06em;
    }
body.portal-page-document-view .iudv-status.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-document-view .iudv-status.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-document-view .iudv-status.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-document-view .iudv-status.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-document-view .iudv-side-actions{
        display: grid;
        gap: 10px;
        margin-top: 18px;
    }
body.portal-page-document-view .iudv-side-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 50px;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-document-view .iudv-side-button.secondary{
        border: 1px solid #bfdbfe;
        background: #fff;
        color: #075fc7;
        box-shadow: none;
    }
body.portal-page-document-view .iudv-help{
        display: flex;
        gap: 12px;
        margin-top: 16px;
        border: 1px solid #bfdbfe;
        border-radius: 20px;
        background: #eff6ff;
        color: #0b2d73;
        padding: 15px;
    }
body.portal-page-document-view .iudv-help i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-document-view .iudv-help strong{
        display: block;
        font-size: 14px;
        font-weight: 800;
    }
body.portal-page-document-view .iudv-help b{
        display: block;
        margin-top: 4px;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 650;
    }
@media (max-width: 980px){body.portal-page-document-view .iudv-hero-grid,
body.portal-page-document-view .iudv-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-document-view .iudv{
            gap: 16px;
        }
body.portal-page-document-view .iudv-hero,
body.portal-page-document-view .iudv-panel{
            border-radius: 22px;
        }
body.portal-page-document-view .iudv-hero-main,
body.portal-page-document-view .iudv-side,
body.portal-page-document-view .iudv-panel{
            padding: 18px;
        }
body.portal-page-document-view .iudv-title{
            font-size: 30px;
        }
body.portal-page-document-view .iudv-meta-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-document-view .iudv-actions{
            display: grid;
        }}

/* Scoped module: documents.php (1) */
body.portal-page-documents .iuds{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-documents .iuds *{
        box-sizing: border-box;
    }
body.portal-page-documents .iuds a{
        text-decoration: none;
    }
body.portal-page-documents .iuds-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-documents .iuds-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-documents .iuds-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-documents .iuds-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-documents .iuds-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-documents .iuds-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-documents .iuds-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-documents .iuds-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-documents .iuds-snapshot{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-documents .iuds-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-documents .iuds-big{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 34px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-documents .iuds-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-documents .iuds-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-documents .iuds-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-documents .iuds-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-documents .iuds-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-documents .iuds-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-documents .iuds-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-documents .iuds-grid{
        display: grid;
        grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-documents .iuds-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-documents .iuds-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-documents .iuds-form{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-documents .iuds-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-documents .iuds-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-documents .iuds-input,
body.portal-page-documents .iuds-textarea,
body.portal-page-documents .iuds-file{
        width: 100%;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-documents .iuds-input,
body.portal-page-documents .iuds-file{
        min-height: 54px;
        padding: 0 15px;
    }
body.portal-page-documents .iuds-file{
        padding-top: 14px;
    }
body.portal-page-documents .iuds-textarea{
        min-height: 116px;
        resize: vertical;
        padding: 14px 15px;
    }
body.portal-page-documents .iuds-input:focus,
body.portal-page-documents .iuds-textarea:focus,
body.portal-page-documents .iuds-file:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-documents .iuds-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-documents .iuds-list-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-documents .iuds-search{
        position: relative;
        width: 300px;
        max-width: 100%;
    }
body.portal-page-documents .iuds-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-documents .iuds-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-documents .iuds-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-documents .iuds-doc-list{
        display: grid;
        gap: 12px;
    }
body.portal-page-documents .iuds-doc{
        position: relative;
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 13px;
        align-items: center;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 14px;
        color: #0f172a;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
body.portal-page-documents .iuds-doc:hover{
        transform: translateY(-2px);
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-documents .iuds-doc-icon{
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 25px;
    }
body.portal-page-documents .iuds-doc strong{
        display: block;
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-documents .iuds-doc small{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.45;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-documents .iuds-status{
        display: inline-flex;
        margin-top: 8px;
        border-radius: 999px;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }
body.portal-page-documents .iuds-status.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-documents .iuds-status.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-documents .iuds-status.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-documents .iuds-status.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-documents .iuds-doc-action{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 14px;
        border: 1px solid #bfdbfe;
        font-size: 12px;
        font-weight: 800;
    }
body.portal-page-documents .iuds-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 24px;
        background: #f8fafc;
        padding: 34px 18px;
        text-align: center;
    }
body.portal-page-documents .iuds-empty i{
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        margin: 0 auto 12px;
        border-radius: 20px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 28px;
    }
body.portal-page-documents .iuds-empty strong{
        display: block;
        color: #0f172a;
        font-size: 18px;
        font-weight: 800;
    }
body.portal-page-documents .iuds-empty b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 14px;
        font-weight: 600;
    }
@media (max-width: 1080px){body.portal-page-documents .iuds-hero-grid,
body.portal-page-documents .iuds-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 700px){body.portal-page-documents .iuds{
            gap: 16px;
        }
body.portal-page-documents .iuds-hero,
body.portal-page-documents .iuds-panel{
            border-radius: 22px;
        }
body.portal-page-documents .iuds-hero-main,
body.portal-page-documents .iuds-hero-side,
body.portal-page-documents .iuds-panel{
            padding: 18px;
        }
body.portal-page-documents .iuds-title{
            font-size: 30px;
        }
body.portal-page-documents .iuds-doc{
            grid-template-columns: 1fr;
        }
body.portal-page-documents .iuds-doc-action{
            width: 100%;
        }
body.portal-page-documents .iuds-search{
            width: 100%;
        }}

/* Scoped module: forgot-password.php (1) */
body.portal-page-forgot-password{
            --blue: #075fc7;
            --blue2: #0b76ef;
            --slate: #0f172a;
            --muted: #64748b;
            --border: #e2e8f0;
            --bg: #f6f9fc;
            --shadow: 0 22px 70px rgba(15, 23, 42, .12);
            --font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-forgot-password *{
            box-sizing: border-box;
        }
body.portal-page-forgot-password{
            min-height: 100%;
            background: var(--bg);
        }
body.portal-page-forgot-password{
            margin: 0;
            min-height: 100vh;
            color: var(--slate);
            background:
                radial-gradient(circle at 8% 8%, rgba(11, 118, 239, .13), transparent 30%),
                radial-gradient(circle at 96% 2%, rgba(249, 115, 22, .12), transparent 25%),
                linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #eef5ff 100%);
            font-family: var(--font);
            letter-spacing: -.01em;
        }
body.portal-page-forgot-password a{
            color: inherit;
            text-decoration: none;
        }
body.portal-page-forgot-password button,
body.portal-page-forgot-password input{
            font: inherit;
        }
body.portal-page-forgot-password .fp-wrap{
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 24px;
        }
body.portal-page-forgot-password .fp-shell{
            width: min(100%, 1060px);
            display: grid;
            grid-template-columns: minmax(0, .98fr) minmax(360px, .72fr);
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 34px;
            background: #fff;
            box-shadow: var(--shadow);
        }
body.portal-page-forgot-password .fp-hero{
            position: relative;
            min-height: 610px;
            padding: 42px;
            color: #fff;
            background:
                radial-gradient(circle at 10% 10%, rgba(255,255,255,.18), transparent 32%),
                linear-gradient(135deg, #020617 0%, #0b2d73 56%, #075fc7 100%);
        }
body.portal-page-forgot-password .fp-logo{
            display: inline-flex;
            align-items: center;
            border-radius: 24px;
            background: #fff;
            padding: 12px 16px;
            box-shadow: 0 18px 42px rgba(2, 6, 23, .22);
        }
body.portal-page-forgot-password .fp-logo img{
            display: block;
            width: auto;
            height: 52px;
            max-width: 210px;
            object-fit: contain;
        }
body.portal-page-forgot-password .fp-pill{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 28px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 999px;
            background: rgba(255,255,255,.1);
            padding: 8px 12px;
            color: rgba(255,255,255,.84);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }
body.portal-page-forgot-password .fp-hero h1{
            max-width: 560px;
            margin: 18px 0 0;
            color: #fff;
            font-size: clamp(36px, 6vw, 62px);
            line-height: .98;
            letter-spacing: -.06em;
            font-weight: 800;
        }
body.portal-page-forgot-password .fp-hero p{
            max-width: 560px;
            margin: 18px 0 0;
            color: rgba(219, 234, 254, .86);
            font-size: 16px;
            line-height: 1.8;
            font-weight: 600;
        }
body.portal-page-forgot-password .fp-steps{
            display: grid;
            gap: 12px;
            margin-top: 34px;
        }
body.portal-page-forgot-password .fp-step{
            display: flex;
            align-items: center;
            gap: 12px;
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 20px;
            background: rgba(255,255,255,.09);
            padding: 14px;
        }
body.portal-page-forgot-password .fp-step i{
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            border-radius: 14px;
            background: rgba(255,255,255,.14);
            color: #fff;
            font-size: 21px;
        }
body.portal-page-forgot-password .fp-step strong{
            display: block;
            color: #fff;
            font-size: 14px;
            line-height: 1.25;
            font-weight: 800;
        }
body.portal-page-forgot-password .fp-step small{
            display: block;
            margin-top: 3px;
            color: rgba(255,255,255,.66);
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
        }
body.portal-page-forgot-password .fp-form-panel{
            display: grid;
            align-content: center;
            padding: 42px;
            background:
                radial-gradient(circle at 100% 0%, rgba(11, 118, 239, .08), transparent 30%),
                #ffffff;
        }
body.portal-page-forgot-password .fp-card-head{
            margin-bottom: 24px;
        }
body.portal-page-forgot-password .fp-card-head b{
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border-radius: 999px;
            background: #eff6ff;
            color: #075fc7;
            padding: 7px 11px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
body.portal-page-forgot-password .fp-card-head h2{
            margin: 14px 0 0;
            color: #0f172a;
            font-size: 30px;
            line-height: 1.12;
            letter-spacing: -.04em;
            font-weight: 800;
        }
body.portal-page-forgot-password .fp-card-head p{
            margin: 10px 0 0;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.7;
            font-weight: 600;
        }
body.portal-page-forgot-password .fp-alert{
            display: flex;
            gap: 12px;
            border-radius: 20px;
            padding: 14px;
            margin-bottom: 18px;
            font-size: 14px;
            line-height: 1.55;
            font-weight: 650;
        }
body.portal-page-forgot-password .fp-alert i{
            font-size: 20px;
            flex: 0 0 auto;
        }
body.portal-page-forgot-password .fp-alert.error{
            border: 1px solid #fecdd3;
            background: #fff1f2;
            color: #be123c;
        }
body.portal-page-forgot-password .fp-alert.success{
            border: 1px solid #bbf7d0;
            background: #ecfdf5;
            color: #047857;
        }
body.portal-page-forgot-password .fp-form{
            display: grid;
            gap: 14px;
        }
body.portal-page-forgot-password .fp-field{
            display: grid;
            gap: 7px;
        }
body.portal-page-forgot-password .fp-field label{
            color: #334155;
            font-size: 13px;
            font-weight: 800;
        }
body.portal-page-forgot-password .fp-input-wrap{
            position: relative;
        }
body.portal-page-forgot-password .fp-input-wrap i{
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #94a3b8;
            font-size: 20px;
        }
body.portal-page-forgot-password .fp-input{
            width: 100%;
            height: 56px;
            border: 1px solid var(--border);
            border-radius: 18px;
            outline: none;
            background: #f8fafc;
            color: #0f172a;
            padding: 0 16px 0 48px;
            font-size: 15px;
            font-weight: 700;
        }
body.portal-page-forgot-password .fp-input:focus{
            border-color: #60a5fa;
            background: #fff;
            box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
        }
body.portal-page-forgot-password .fp-button{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            height: 56px;
            border: 0;
            border-radius: 18px;
            background: linear-gradient(135deg, #075fc7, #0b76ef);
            color: #fff;
            cursor: pointer;
            font-size: 15px;
            font-weight: 800;
            box-shadow: 0 16px 34px rgba(7, 95, 199, .22);
        }
body.portal-page-forgot-password .fp-button:hover{
            filter: brightness(.97);
        }
body.portal-page-forgot-password .fp-links{
            display: grid;
            gap: 10px;
            margin-top: 14px;
        }
body.portal-page-forgot-password .fp-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 46px;
            border: 1px solid #bfdbfe;
            border-radius: 16px;
            background: #fff;
            color: #075fc7;
            font-size: 14px;
            font-weight: 800;
        }
body.portal-page-forgot-password .fp-link.muted{
            border-color: #e2e8f0;
            color: #475569;
        }
@media (max-width: 980px){body.portal-page-forgot-password .fp-shell{
                grid-template-columns: 1fr;
            }
body.portal-page-forgot-password .fp-hero{
                min-height: auto;
            }}
@media (max-width: 640px){body.portal-page-forgot-password .fp-wrap{
                padding: 14px;
                place-items: stretch;
            }
body.portal-page-forgot-password .fp-shell{
                border-radius: 24px;
            }
body.portal-page-forgot-password .fp-hero,
body.portal-page-forgot-password .fp-form-panel{
                padding: 24px;
            }
body.portal-page-forgot-password .fp-logo img{
                height: 42px;
                max-width: 180px;
            }
body.portal-page-forgot-password .fp-hero h1{
                font-size: 34px;
            }
body.portal-page-forgot-password .fp-steps{
                margin-top: 22px;
            }}

/* Scoped module: invoice-view.php (1) */
body.portal-page-invoice-view .iuinv{max-width:1100px;margin:0 auto;font-family:Manrope,"Plus Jakarta Sans",system-ui,sans-serif}
body.portal-page-invoice-view .iuinv *{box-sizing:border-box}
body.portal-page-invoice-view .iuinv a{text-decoration:none}
body.portal-page-invoice-view .iuinv-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px}
body.portal-page-invoice-view .iuinv-toolbar>div{display:flex;flex-wrap:wrap;gap:10px}
body.portal-page-invoice-view .iuinv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;border:1px solid #bfdbfe;background:#fff;color:#075fc7;padding:0 16px;font-size:13px;font-weight:800;cursor:pointer}
body.portal-page-invoice-view .iuinv-btn.primary{border:0;background:linear-gradient(135deg,#075fc7,#0b76ef);color:#fff;box-shadow:0 14px 32px rgba(7,95,199,.18)}
body.portal-page-invoice-view .iuinv-alert{display:flex;gap:12px;border:1px solid #fecdd3;border-radius:22px;background:#fff1f2;color:#be123c;padding:16px;box-shadow:0 12px 34px rgba(190,18,60,.08);margin-bottom:18px}
body.portal-page-invoice-view .iuinv-alert i{font-size:22px;flex:0 0 auto}
body.portal-page-invoice-view .iuinv-alert strong{display:block;font-size:15px;font-weight:800}
body.portal-page-invoice-view .iuinv-alert b{display:block;margin-top:3px;font-size:13px;line-height:1.6;font-weight:650}
body.portal-page-invoice-view .iuinv-sheet{overflow:hidden;border:1px solid #e2e8f0;border-radius:30px;background:#fff;box-shadow:0 22px 70px rgba(15,23,42,.12)}
body.portal-page-invoice-view .iuinv-head{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:34px;color:#fff;background:radial-gradient(circle at 0 0,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#020617 0%,#0b2d73 54%,#075fc7 100%)}
body.portal-page-invoice-view .iuinv-brand{display:flex;align-items:center;gap:14px}
body.portal-page-invoice-view .iuinv-logo{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;background:#fff;padding:10px;box-shadow:0 18px 38px rgba(2,6,23,.18)}
body.portal-page-invoice-view .iuinv-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
body.portal-page-invoice-view .iuinv-brand strong{display:block;color:#fff;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.04em}
body.portal-page-invoice-view .iuinv-brand b b{display:block;margin-top:4px;color:rgba(219,234,254,.84);font-size:13px;font-weight:700}
body.portal-page-invoice-view .iuinv-doc-title{margin:32px 0 0;color:#fff;font-size:clamp(36px,6vw,64px);line-height:.95;letter-spacing:-.06em;font-weight:900}
body.portal-page-invoice-view .iuinv-doc-sub{margin:12px 0 0;color:rgba(219,234,254,.88);font-size:15px;line-height:1.7;font-weight:650}
body.portal-page-invoice-view .iuinv-summary{border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.10);padding:20px;align-self:start}
body.portal-page-invoice-view .iuinv-summary b{display:block;color:rgba(255,255,255,.72);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
body.portal-page-invoice-view .iuinv-summary strong{display:block;margin-top:6px;color:#fff;font-size:22px;line-height:1.2;font-weight:900;word-break:break-word}
body.portal-page-invoice-view .iuinv-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
body.portal-page-invoice-view .iuinv-status.is-green{background:#ecfdf5;color:#047857}
body.portal-page-invoice-view .iuinv-status.is-red{background:#fff1f2;color:#be123c}
body.portal-page-invoice-view .iuinv-status.is-blue{background:#eff6ff;color:#1d4ed8}
body.portal-page-invoice-view .iuinv-status.is-amber{background:#fffbeb;color:#b45309}
body.portal-page-invoice-view .iuinv-body{padding:34px}
body.portal-page-invoice-view .iuinv-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
body.portal-page-invoice-view .iuinv-card{border:1px solid #e2e8f0;border-radius:24px;background:#f8fafc;padding:18px}
body.portal-page-invoice-view .iuinv-label{margin:0;color:#64748b;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
body.portal-page-invoice-view .iuinv-card strong{display:block;margin-top:8px;color:#0f172a;font-size:18px;line-height:1.3;font-weight:900;word-break:break-word}
body.portal-page-invoice-view .iuinv-card p{margin:8px 0 0;color:#475569;font-size:13px;line-height:1.65;font-weight:650;word-break:break-word}
body.portal-page-invoice-view .iuinv-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
body.portal-page-invoice-view .iuinv-meta{border:1px solid #e2e8f0;border-radius:20px;background:#fff;padding:15px}
body.portal-page-invoice-view .iuinv-meta b{display:block;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
body.portal-page-invoice-view .iuinv-meta strong{display:block;margin-top:6px;color:#0f172a;font-size:13px;line-height:1.4;font-weight:900;word-break:break-word}
body.portal-page-invoice-view .iuinv-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:22px;margin-bottom:22px}
body.portal-page-invoice-view .iuinv-table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}
body.portal-page-invoice-view .iuinv-table th{background:#f8fafc;color:#475569;padding:14px;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #e2e8f0}
body.portal-page-invoice-view .iuinv-table td{padding:16px 14px;color:#0f172a;font-size:14px;line-height:1.55;font-weight:700;border-bottom:1px solid #e2e8f0;vertical-align:top}
body.portal-page-invoice-view .iuinv-table tr:last-child td{border-bottom:0}
body.portal-page-invoice-view .iuinv-total-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
body.portal-page-invoice-view .iuinv-note{border:1px solid #bfdbfe;border-radius:22px;background:#eff6ff;color:#0b2d73;padding:16px}
body.portal-page-invoice-view .iuinv-note strong{display:block;font-size:14px;font-weight:900}
body.portal-page-invoice-view .iuinv-note b{display:block;margin-top:5px;font-size:13px;line-height:1.65;font-weight:650}
body.portal-page-invoice-view .iuinv-totals{border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden}
body.portal-page-invoice-view .iuinv-total-row{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:14px;font-weight:800}
body.portal-page-invoice-view .iuinv-total-row:last-child{border-bottom:0}
body.portal-page-invoice-view .iuinv-total-row.grand{background:#0f172a;color:#fff;font-size:18px;font-weight:900}
@media (max-width:900px){body.portal-page-invoice-view .iuinv-head,
body.portal-page-invoice-view .iuinv-parties,
body.portal-page-invoice-view .iuinv-total-grid{grid-template-columns:1fr}
body.portal-page-invoice-view .iuinv-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){body.portal-page-invoice-view .iuinv-toolbar,
body.portal-page-invoice-view .iuinv-toolbar>div{display:grid}
body.portal-page-invoice-view .iuinv-btn{width:100%}
body.portal-page-invoice-view .iuinv-sheet{border-radius:22px}
body.portal-page-invoice-view .iuinv-head,
body.portal-page-invoice-view .iuinv-body{padding:20px}
body.portal-page-invoice-view .iuinv-meta-grid{grid-template-columns:1fr}}
@media print{body.portal-page-invoice-view{background:#fff!important}
body.portal-page-invoice-view .portal-sidebar,
body.portal-page-invoice-view .portal-mobile-header,
body.portal-page-invoice-view .portal-overlay,
body.portal-page-invoice-view .portal-topbar,
body.portal-page-invoice-view .iulx-sidebar,
body.portal-page-invoice-view .iulx-topbar,
body.portal-page-invoice-view .iuinv-toolbar,
body.portal-page-invoice-view .no-print{display:none!important}
body.portal-page-invoice-view .iuinv{max-width:100%!important;margin:0!important}
body.portal-page-invoice-view .iuinv-sheet{box-shadow:none!important;border-radius:0!important;border:0!important}
body.portal-page-invoice-view .iuinv-head{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Scoped module: layout.php (1) */
body.portal-layout{
            --iulx-sidebar: 308px;
            --iulx-blue: #075fc7;
            --iulx-blue-2: #0b76ef;
            --iulx-blue-3: #0b2d73;
            --iulx-ink: #0f172a;
            --iulx-muted: #64748b;
            --iulx-border: #e2e8f0;
            --iulx-bg: #f6f9fc;
            --iulx-font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-layout *{ box-sizing: border-box; }
body.portal-layout{ min-height: 100%; background: var(--iulx-bg); }
body.portal-layout{
            min-height: 100vh;
            margin: 0;
            overflow-x: hidden;
            background:
                radial-gradient(circle at 10% -10%, rgba(7,95,199,.20), transparent 28%),
                radial-gradient(circle at 100% 0%, rgba(14,165,233,.14), transparent 24%),
                linear-gradient(180deg, #f8fbff 0%, #f6f9fc 46%, #eef4fb 100%);
            color: var(--iulx-ink);
            font-family: var(--iulx-font);
            letter-spacing: -.012em;
        }
body.portal-layout.iulx-menu-lock{ overflow: hidden; }
body.portal-layout a{ color: inherit; text-decoration: none; }
body.portal-layout button,
body.portal-layout input{ font: inherit; }
body.portal-layout .iulx-skip-link{
            position: fixed;
            left: 16px;
            top: 12px;
            z-index: 200;
            transform: translateY(-160%);
            border-radius: 999px;
            background: #ffffff;
            color: var(--iulx-blue);
            padding: 11px 16px;
            font-size: 13px;
            font-weight: 900;
            box-shadow: 0 18px 44px rgba(15,23,42,.20);
        }
body.portal-layout .iulx-skip-link:focus{
            transform: translateY(0);
        }
body.portal-layout img{ max-width: 100%; height: auto; }
body.portal-layout .iulx-glass{
            background: rgba(255,255,255,.78);
            backdrop-filter: blur(22px);
            border: 1px solid rgba(226,232,240,.75);
        }
body.portal-layout .iulx-orb{
            position: fixed;
            z-index: 0;
            pointer-events: none;
            border-radius: 999px;
            filter: blur(8px);
            opacity: .55;
        }
body.portal-layout .iulx-orb.one{
            width: 320px;
            height: 320px;
            top: 8%;
            left: 310px;
            background: radial-gradient(circle, rgba(7,95,199,.17), transparent 68%);
        }
body.portal-layout .iulx-orb.two{
            width: 240px;
            height: 240px;
            right: -80px;
            top: 18%;
            background: radial-gradient(circle, rgba(14,165,233,.17), transparent 68%);
        }
body.portal-layout .iulx-app{
            position: relative;
            z-index: 1;
            min-height: 100vh;
        }
body.portal-layout .iulx-sidebar{
            position: fixed;
            inset: 16px auto 16px 16px;
            z-index: 70;
            width: calc(var(--iulx-sidebar) - 16px);
            overflow: hidden;
            border-radius: 34px;
            background:
                radial-gradient(circle at 0 0, rgba(255,255,255,.18), transparent 30%),
                linear-gradient(180deg, #075fc7 0%, #0b2d73 48%, #07111f 100%);
            color: #fff;
            box-shadow: 0 28px 90px rgba(2,6,23,.25);
        }
body.portal-layout .iulx-sidebar-scroll{
            height: 100%;
            overflow-y: auto;
            padding: 18px;
        }
body.portal-layout .iulx-sidebar-scroll::-webkit-scrollbar{
            width: 8px;
        }
body.portal-layout .iulx-sidebar-scroll::-webkit-scrollbar-thumb{
            background: rgba(255,255,255,.18);
            border-radius: 999px;
        }
body.portal-layout .iulx-brand{
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
            border-radius: 24px;
            background: #fff;
            color: #0f172a;
            padding: 12px;
            box-shadow: 0 18px 50px rgba(2,6,23,.20);
        }
body.portal-layout .iulx-logo-wrap{
            display: grid;
            place-items: center;
            width: 48px;
            height: 48px;
            flex: 0 0 48px;
            border-radius: 18px;
            background: linear-gradient(135deg, var(--iulx-blue), var(--iulx-blue-2));
            overflow: hidden;
        }
body.portal-layout .iulx-logo-wrap img{
            width: 100%;
            height: 100%;
            object-fit: contain;
            background: #fff;
            padding: 4px;
        }
body.portal-layout .iulx-logo-fallback{
            color: #fff;
            font-weight: 950;
            font-size: 14px;
        }
body.portal-layout .iulx-brand-title{
            display: block;
            color: #0f172a;
            font-size: 15px;
            line-height: 1.15;
            font-weight: 950;
            letter-spacing: -.03em;
        }
body.portal-layout .iulx-brand-sub{
            display: block;
            margin-top: 3px;
            color: #64748b;
            font-size: 11px;
            line-height: 1.15;
            font-weight: 850;
        }
body.portal-layout .iulx-user-card{
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 16px;
            border: 1px solid rgba(255,255,255,.15);
            border-radius: 26px;
            background: rgba(255,255,255,.10);
            padding: 14px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
        }
body.portal-layout .iulx-user-card:before{
            content: "";
            position: absolute;
            inset: 0;
            width: 52%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
            animation: iulxShimmer 4.2s linear infinite;
        }
@keyframes iulxShimmer{
            0% { transform: translateX(-140%); }
            100% { transform: translateX(240%); }
        }
body.portal-layout .iulx-avatar{
            position: relative;
            z-index: 1;
            display: grid;
            place-items: center;
            width: 46px;
            height: 46px;
            flex: 0 0 46px;
            border-radius: 18px;
            background: #fff;
            color: var(--iulx-blue);
            font-size: 14px;
            font-weight: 950;
            box-shadow: 0 12px 30px rgba(2,6,23,.14);
        }
body.portal-layout .iulx-user-meta{
            position: relative;
            z-index: 1;
            display: grid;
            gap: 4px;
            min-width: 0;
        }
body.portal-layout .iulx-user-name{
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: #fff;
            font-size: 14px;
            line-height: 1.2;
            font-weight: 950;
        }
body.portal-layout .iulx-user-email{
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: rgba(255,255,255,.68);
            font-size: 11px;
            line-height: 1.2;
            font-weight: 750;
        }
body.portal-layout .iulx-nav{
            display: grid;
            gap: 17px;
            margin-top: 20px;
        }
body.portal-layout .iulx-nav-heading{
            padding: 0 8px;
            color: rgba(255,255,255,.46);
            font-size: 10px;
            font-weight: 950;
            letter-spacing: .15em;
            text-transform: uppercase;
        }
body.portal-layout .iulx-nav-items{
            display: grid;
            gap: 6px;
            margin-top: 8px;
        }
body.portal-layout .iulx-nav-item{
            display: flex;
            align-items: center;
            gap: 12px;
            min-height: 48px;
            border-radius: 18px;
            padding: 8px 10px;
            color: rgba(255,255,255,.84);
            font-size: 14px;
            font-weight: 850;
            transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
        }
body.portal-layout .iulx-nav-item:hover{
            transform: translateX(3px);
            background: rgba(255,255,255,.10);
            color: #fff;
        }
body.portal-layout .iulx-nav-item.is-active{
            background: #fff;
            color: var(--iulx-blue);
            box-shadow: 0 14px 38px rgba(2,6,23,.24);
        }
body.portal-layout .iulx-nav-icon{
            display: grid;
            place-items: center;
            width: 38px;
            height: 38px;
            flex: 0 0 38px;
            border-radius: 15px;
            background: rgba(255,255,255,.10);
            color: currentColor;
            font-size: 19px;
        }
body.portal-layout .iulx-nav-item.is-active .iulx-nav-icon{
            background: #eff6ff;
            color: var(--iulx-blue);
        }
body.portal-layout .iulx-nav-label{
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
body.portal-layout .iulx-sidebar-footer{
            margin-top: 18px;
            padding-top: 16px;
            border-top: 1px solid rgba(255,255,255,.12);
        }
body.portal-layout .iulx-logout{
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 46px;
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 999px;
            background: rgba(255,255,255,.10);
            color: #fff;
            font-size: 13px;
            font-weight: 950;
            transition: background .18s ease, transform .18s ease;
        }
body.portal-layout .iulx-logout:hover{
            transform: translateY(-1px);
            background: rgba(255,255,255,.16);
        }
body.portal-layout .iulx-main{
            min-height: 100vh;
            padding-left: var(--iulx-sidebar);
        }
body.portal-layout .iulx-topbar{
            position: sticky;
            top: 0;
            z-index: 50;
            border-bottom: 1px solid rgba(226,232,240,.78);
            background: rgba(255,255,255,.76);
            backdrop-filter: blur(22px);
        }
body.portal-layout .iulx-topbar-inner{
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            min-height: 82px;
            padding: 15px 30px;
        }
body.portal-layout .iulx-title-row{
            display: flex;
            align-items: center;
            gap: 13px;
            min-width: 0;
        }
body.portal-layout .iulx-menu-button{
            display: none;
            place-items: center;
            width: 46px;
            height: 46px;
            flex: 0 0 46px;
            border: 1px solid var(--iulx-border);
            border-radius: 18px;
            background: #fff;
            color: var(--iulx-blue);
            cursor: pointer;
            font-size: 22px;
            box-shadow: 0 10px 26px rgba(15,23,42,.07);
        }
body.portal-layout .iulx-title-wrap{
            min-width: 0;
        }
body.portal-layout .iulx-kicker{
            margin: 0 0 4px;
            color: var(--iulx-blue);
            font-size: 11px;
            font-weight: 950;
            letter-spacing: .18em;
            text-transform: uppercase;
        }
body.portal-layout .iulx-title{
            margin: 0;
            color: var(--iulx-ink);
            font-size: clamp(24px, 3.1vw, 34px);
            line-height: 1.08;
            font-weight: 950;
            letter-spacing: -.055em;
        }
body.portal-layout .iulx-description{
            max-width: 720px;
            margin: 7px 0 0;
            color: var(--iulx-muted);
            font-size: 13px;
            line-height: 1.45;
            font-weight: 700;
        }
body.portal-layout .iulx-actions{
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 9px;
            flex-wrap: wrap;
        }
body.portal-layout .iulx-btn,
body.portal-layout .portal-button{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            border-radius: 999px;
            padding: 0 18px;
            border: 0;
            background: linear-gradient(135deg, var(--iulx-blue), var(--iulx-blue-2));
            color: #fff;
            font-size: 14px;
            font-weight: 950;
            box-shadow: 0 16px 34px rgba(7,95,199,.18);
            cursor: pointer;
            transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
        }
body.portal-layout .iulx-btn:hover,
body.portal-layout .portal-button:hover{
            transform: translateY(-1px);
            filter: brightness(.98);
            box-shadow: 0 18px 42px rgba(7,95,199,.24);
        }
body.portal-layout .iulx-btn.secondary,
body.portal-layout .portal-button.secondary{
            border: 1px solid #bfdbfe;
            background: rgba(255,255,255,.90);
            color: var(--iulx-blue);
            box-shadow: none;
        }
body.portal-layout .iulx-content{
            min-height: calc(100vh - 82px);
            padding: 28px 30px 104px;
        }
body.portal-layout .iulx-overlay{
            position: fixed;
            inset: 0;
            z-index: 60;
            display: none;
            background: rgba(2,6,23,.62);
            backdrop-filter: blur(6px);
        }
body.portal-layout .iulx-overlay.is-open{
            display: block;
        }
body.portal-layout .iulx-mobile-close{
            display: none;
            place-items: center;
            width: 42px;
            height: 42px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 16px;
            background: rgba(255,255,255,.10);
            color: #fff;
            cursor: pointer;
            font-size: 22px;
        }
body.portal-layout .iulx-mobile-bar{
            position: fixed;
            left: 12px;
            right: 12px;
            bottom: calc(12px + env(safe-area-inset-bottom));
            z-index: 55;
            display: none;
            grid-template-columns: repeat(5, 1fr);
            gap: 6px;
            border: 1px solid rgba(226,232,240,.80);
            border-radius: 24px;
            background: rgba(255,255,255,.92);
            backdrop-filter: blur(20px);
            padding: 8px;
            box-shadow: 0 20px 60px rgba(15,23,42,.16);
        }
body.portal-layout .iulx-mobile-bar a{
            display: grid;
            place-items: center;
            gap: 3px;
            min-height: 50px;
            border-radius: 18px;
            color: #64748b;
            font-size: 10px;
            font-weight: 900;
        }
body.portal-layout .iulx-mobile-bar a i{
            font-size: 20px;
        }
body.portal-layout .iulx-mobile-bar a.is-active{
            background: #eff6ff;
            color: var(--iulx-blue);
        }
body.portal-layout .iulx-command{
            position: fixed;
            inset: 0;
            z-index: 100;
            display: none;
            align-items: flex-start;
            justify-content: center;
            padding: 8vh 16px 16px;
            background: rgba(2,6,23,.58);
            backdrop-filter: blur(8px);
        }
body.portal-layout .iulx-command.is-open{
            display: flex;
        }
body.portal-layout .iulx-command-box{
            width: min(620px, 100%);
            overflow: hidden;
            border: 1px solid rgba(226,232,240,.84);
            border-radius: 30px;
            background: #fff;
            box-shadow: 0 30px 100px rgba(2,6,23,.28);
        }
body.portal-layout .iulx-command-head{
            display: flex;
            align-items: center;
            gap: 12px;
            border-bottom: 1px solid var(--iulx-border);
            padding: 14px 16px;
            color: var(--iulx-muted);
        }
body.portal-layout .iulx-command-head input{
            width: 100%;
            border: 0;
            outline: 0;
            color: var(--iulx-ink);
            font-size: 15px;
            font-weight: 800;
        }
body.portal-layout .iulx-command-list{
            max-height: 420px;
            overflow-y: auto;
            padding: 10px;
        }
body.portal-layout .iulx-command-link{
            display: flex;
            align-items: center;
            gap: 11px;
            min-height: 50px;
            border-radius: 17px;
            padding: 8px 10px;
            color: var(--iulx-ink);
            font-size: 14px;
            font-weight: 850;
        }
body.portal-layout .iulx-command-link:hover{
            background: #eff6ff;
            color: var(--iulx-blue);
        }
@media (max-width: 1180px){body.portal-layout{
                --iulx-sidebar: 288px;
            }
body.portal-layout .iulx-sidebar{
                inset: 12px auto 12px 12px;
            }}
@media (max-width: 1023px){body.portal-layout .iulx-sidebar{
                inset: 0 auto 0 0;
                width: min(330px, 88vw);
                height: 100vh;
                border-radius: 0 34px 34px 0;
                transform: translateX(-105%);
                transition: transform .28s ease;
            }
body.portal-layout .iulx-sidebar.is-open{
                transform: translateX(0);
            }
body.portal-layout .iulx-mobile-close,
body.portal-layout .iulx-menu-button{
                display: grid;
            }
body.portal-layout .iulx-main{
                padding-left: 0;
            }
body.portal-layout .iulx-topbar-inner{
                padding: 13px 16px;
                min-height: 74px;
            }
body.portal-layout .iulx-content{
                padding: 18px 16px 104px;
            }
body.portal-layout .iulx-actions{
                display: none;
            }
body.portal-layout .iulx-mobile-bar{
                display: grid;
            }}
@media (max-width: 640px){body.portal-layout .iulx-title{
                font-size: 23px;
                letter-spacing: -.045em;
            }
body.portal-layout .iulx-description{
                display: none;
            }
body.portal-layout .iulx-content{
                padding: 14px 12px 102px;
            }
body.portal-layout .iulx-brand{
                padding: 10px;
            }
body.portal-layout .iulx-user-card{
                border-radius: 22px;
            }}
@media (prefers-reduced-motion: reduce){body.portal-layout *,
body.portal-layout *:before,
body.portal-layout *:after{
                animation-duration: .001ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: .001ms !important;
            }}

/* Scoped module: login.php (1) */
body.portal-page-login{
            --blue: #075fc7;
            --blue2: #0b76ef;
            --slate: #0f172a;
            --muted: #64748b;
            --border: #e2e8f0;
            --bg: #f6f9fc;
            --shadow: 0 22px 70px rgba(15, 23, 42, .12);
            --font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-login *{ box-sizing: border-box; }
body.portal-page-login{
            min-height: 100%;
            background: var(--bg);
        }
body.portal-page-login{
            margin: 0;
            min-width: 320px;
            min-height: 100vh;
            max-width: 100%;
            overflow-x: hidden;
            color: var(--slate);
            background:
                radial-gradient(circle at 8% 8%, rgba(11, 118, 239, .13), transparent 30%),
                radial-gradient(circle at 96% 2%, rgba(249, 115, 22, .12), transparent 25%),
                linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #eef5ff 100%);
            font-family: var(--font);
            letter-spacing: -.01em;
        }
body.portal-page-login a{ color: inherit; text-decoration: none; }
body.portal-page-login button,
body.portal-page-login input{ font: inherit; }
body.portal-page-login .login-wrap{
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 24px;
        }
body.portal-page-login .login-shell{
            width: min(100%, 1120px);
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(380px, .72fr);
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 34px;
            background: #fff;
            box-shadow: var(--shadow);
        }
body.portal-page-login .login-hero{
            position: relative;
            min-height: 650px;
            padding: 42px;
            color: #fff;
            background:
                radial-gradient(circle at 10% 10%, rgba(255,255,255,.18), transparent 32%),
                linear-gradient(135deg, #020617 0%, #0b2d73 56%, #075fc7 100%);
        }
body.portal-page-login .login-logo{
            display: inline-flex;
            align-items: center;
            border-radius: 24px;
            background: #fff;
            padding: 12px 16px;
            box-shadow: 0 18px 42px rgba(2, 6, 23, .22);
        }
body.portal-page-login .login-logo img{
            display: block;
            width: auto;
            height: 52px;
            max-width: 210px;
            object-fit: contain;
        }
body.portal-page-login .login-chip{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 30px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 999px;
            background: rgba(255,255,255,.1);
            padding: 8px 12px;
            color: rgba(255,255,255,.84);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }
body.portal-page-login .login-hero h1{
            max-width: 620px;
            margin: 18px 0 0;
            color: #fff;
            font-size: clamp(38px, 6vw, 66px);
            line-height: .98;
            letter-spacing: -.06em;
            font-weight: 800;
        }
body.portal-page-login .login-hero p{
            max-width: 620px;
            margin: 18px 0 0;
            color: rgba(219, 234, 254, .86);
            font-size: 16px;
            line-height: 1.8;
            font-weight: 600;
        }
body.portal-page-login .login-metrics{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin-top: 34px;
        }
body.portal-page-login .login-metric{
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 20px;
            background: rgba(255,255,255,.09);
            padding: 16px;
        }
body.portal-page-login .login-metric i{
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            border-radius: 14px;
            background: rgba(255,255,255,.14);
            color: #fff;
            font-size: 21px;
            margin-bottom: 12px;
        }
body.portal-page-login .login-metric strong{
            display: block;
            color: #fff;
            font-size: 15px;
            line-height: 1.25;
            font-weight: 800;
        }
body.portal-page-login .login-metric small{
            display: block;
            margin-top: 4px;
            color: rgba(255,255,255,.66);
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
        }
body.portal-page-login .login-panel{
            display: grid;
            align-content: center;
            padding: 42px;
            background:
                radial-gradient(circle at 100% 0%, rgba(11, 118, 239, .08), transparent 30%),
                #ffffff;
        }
body.portal-page-login .login-card-head{ margin-bottom: 24px; }
body.portal-page-login .login-card-head b{
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border-radius: 999px;
            background: #eff6ff;
            color: #075fc7;
            padding: 7px 11px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
body.portal-page-login .login-card-head h2{
            margin: 14px 0 0;
            color: #0f172a;
            font-size: 32px;
            line-height: 1.12;
            letter-spacing: -.04em;
            font-weight: 800;
        }
body.portal-page-login .login-card-head p{
            margin: 10px 0 0;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.7;
            font-weight: 600;
        }
body.portal-page-login .login-alert{
            display: flex;
            gap: 12px;
            border: 1px solid #fecdd3;
            border-radius: 20px;
            background: #fff1f2;
            color: #be123c;
            padding: 14px;
            margin-bottom: 18px;
            font-size: 14px;
            line-height: 1.55;
            font-weight: 650;
        }
body.portal-page-login .login-alert i{
            font-size: 20px;
            flex: 0 0 auto;
        }
body.portal-page-login .login-alert ul{
            margin: 0;
            padding-left: 18px;
        }
body.portal-page-login .login-form{
            display: grid;
            gap: 14px;
        }
body.portal-page-login .login-field{
            display: grid;
            gap: 7px;
        }
body.portal-page-login .login-field label{
            color: #334155;
            font-size: 13px;
            font-weight: 800;
        }
body.portal-page-login .login-input-wrap{
            position: relative;
        }
body.portal-page-login .login-input-wrap i{
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #94a3b8;
            font-size: 20px;
        }
body.portal-page-login .login-input{
            width: 100%;
            height: 56px;
            border: 1px solid var(--border);
            border-radius: 18px;
            outline: none;
            background: #f8fafc;
            color: #0f172a;
            padding: 0 16px 0 48px;
            font-size: 15px;
            font-weight: 700;
        }
body.portal-page-login .login-input.has-button{
            padding-right: 92px;
        }
body.portal-page-login .login-input:focus{
            border-color: #60a5fa;
            background: #fff;
            box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
        }
body.portal-page-login .password-toggle{
            position: absolute;
            right: 9px;
            top: 50%;
            transform: translateY(-50%);
            min-height: 38px;
            border: 0;
            border-radius: 999px;
            background: #eff6ff;
            color: #075fc7;
            cursor: pointer;
            padding: 0 13px;
            font-size: 12px;
            font-weight: 800;
        }
body.portal-page-login .login-row{
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: #64748b;
            font-size: 13px;
            line-height: 1.4;
            font-weight: 650;
        }
body.portal-page-login .login-row a{
            color: #075fc7;
            font-weight: 800;
        }
body.portal-page-login .remember{
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
body.portal-page-login .remember input{
            accent-color: #075fc7;
        }
body.portal-page-login .login-submit{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            height: 56px;
            border: 0;
            border-radius: 18px;
            background: linear-gradient(135deg, #075fc7, #0b76ef);
            color: #fff;
            cursor: pointer;
            font-size: 15px;
            font-weight: 800;
            box-shadow: 0 16px 34px rgba(7, 95, 199, .22);
        }
body.portal-page-login .login-submit:hover{ filter: brightness(.97); }
body.portal-page-login .login-submit:disabled{ opacity: .75; cursor: wait; }
body.portal-page-login .login-links{
            display: grid;
            gap: 10px;
            margin-top: 14px;
        }
body.portal-page-login .login-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 46px;
            border: 1px solid #bfdbfe;
            border-radius: 16px;
            background: #fff;
            color: #075fc7;
            font-size: 14px;
            font-weight: 800;
        }
body.portal-page-login .login-link.muted{
            border-color: #e2e8f0;
            color: #475569;
        }
@media (max-width: 980px){body.portal-page-login .login-shell{
                grid-template-columns: 1fr;
            }
body.portal-page-login .login-hero{
                min-height: auto;
            }}
@media (max-width: 640px){body.portal-page-login .login-wrap{
                padding: 14px;
                place-items: stretch;
            }
body.portal-page-login .login-shell{
                border-radius: 24px;
            }
body.portal-page-login .login-hero,
body.portal-page-login .login-panel{
                padding: 24px;
            }
body.portal-page-login .login-logo img{
                height: 42px;
                max-width: 180px;
            }
body.portal-page-login .login-hero h1{
                font-size: 34px;
            }
body.portal-page-login .login-metrics{
                grid-template-columns: 1fr;
                margin-top: 22px;
            }}

/* Scoped module: logout.php (1) */
body.portal-page-logout{
            color-scheme: light;
            --blue: #075fc7;
            --slate: #0f172a;
            --muted: #64748b;
            --border: #e2e8f0;
        }
body.portal-page-logout *{
            box-sizing: border-box;
        }
body.portal-page-logout{
            margin: 0;
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 24px;
            background:
                radial-gradient(circle at 10% 10%, rgba(7, 95, 199, .13), transparent 30%),
                linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
            color: var(--slate);
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-logout .card{
            width: min(100%, 420px);
            border: 1px solid var(--border);
            border-radius: 28px;
            background: #fff;
            padding: 28px;
            text-align: center;
            box-shadow: 0 22px 70px rgba(15, 23, 42, .10);
        }
body.portal-page-logout .icon{
            display: grid;
            place-items: center;
            width: 64px;
            height: 64px;
            margin: 0 auto 16px;
            border-radius: 22px;
            background: #eff6ff;
            color: var(--blue);
            font-size: 28px;
            font-weight: 900;
        }
body.portal-page-logout h1{
            margin: 0;
            font-size: 28px;
            line-height: 1.1;
            letter-spacing: -.04em;
        }
body.portal-page-logout p{
            margin: 10px 0 0;
            color: var(--muted);
            line-height: 1.6;
            font-size: 15px;
        }
body.portal-page-logout a{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            margin-top: 18px;
            border-radius: 999px;
            background: var(--blue);
            color: #fff;
            padding: 0 18px;
            text-decoration: none;
            font-weight: 800;
        }

/* Scoped module: messages.php (1) */
body.portal-page-messages .ium{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-messages .ium *{
        box-sizing: border-box;
    }
body.portal-page-messages .ium a{
        text-decoration: none;
    }
body.portal-page-messages .ium-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-messages .ium-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-messages .ium-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-messages .ium-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-messages .ium-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-messages .ium-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-messages .ium-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-messages .ium-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-messages .ium-snapshot{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-messages .ium-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-messages .ium-big{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 34px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-messages .ium-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-messages .ium-alert{
        display: flex;
        gap: 12px;
        border: 1px solid #fecdd3;
        border-radius: 22px;
        background: #fff1f2;
        color: #be123c;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(190, 18, 60, .08);
    }
body.portal-page-messages .ium-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-messages .ium-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-messages .ium-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-messages .ium-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-messages .ium-stat{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-messages .ium-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
body.portal-page-messages .ium-stat-icon{
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 16px;
        color: #fff;
        background: #075fc7;
        font-size: 21px;
    }
body.portal-page-messages .ium-stat-icon.is-green{
        background: #059669;
    }
body.portal-page-messages .ium-stat-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-messages .ium-stat-icon.is-indigo{
        background: #4f46e5;
    }
body.portal-page-messages .ium-stat-value{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-messages .ium-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-messages .ium-panel-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-messages .ium-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-messages .ium-search{
        position: relative;
        width: 320px;
        max-width: 100%;
    }
body.portal-page-messages .ium-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-messages .ium-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-messages .ium-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-messages .ium-list{
        display: grid;
        gap: 12px;
    }
body.portal-page-messages .ium-message{
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 13px;
        align-items: center;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 14px;
        color: #0f172a;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
body.portal-page-messages .ium-message:hover{
        transform: translateY(-2px);
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-messages .ium-icon{
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 25px;
    }
body.portal-page-messages .ium-message strong{
        display: block;
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-messages .ium-message p{
        margin: 5px 0 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-messages .ium-meta{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }
body.portal-page-messages .ium-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-messages .ium-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-messages .ium-badge.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-messages .ium-badge.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-messages .ium-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-messages .ium-date{
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
        text-align: right;
        white-space: nowrap;
    }
body.portal-page-messages .ium-action{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 14px;
        border: 1px solid #bfdbfe;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
        margin-top: 8px;
    }
body.portal-page-messages .ium-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 24px;
        background: #f8fafc;
        padding: 34px 18px;
        text-align: center;
    }
body.portal-page-messages .ium-empty i{
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        margin: 0 auto 12px;
        border-radius: 20px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 28px;
    }
body.portal-page-messages .ium-empty strong{
        display: block;
        color: #0f172a;
        font-size: 18px;
        font-weight: 800;
    }
body.portal-page-messages .ium-empty b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 14px;
        font-weight: 600;
    }
@media (max-width: 1080px){body.portal-page-messages .ium-hero-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-messages .ium-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 700px){body.portal-page-messages .ium{
            gap: 16px;
        }
body.portal-page-messages .ium-hero,
body.portal-page-messages .ium-panel{
            border-radius: 22px;
        }
body.portal-page-messages .ium-hero-main,
body.portal-page-messages .ium-hero-side,
body.portal-page-messages .ium-panel{
            padding: 18px;
        }
body.portal-page-messages .ium-title{
            font-size: 30px;
        }
body.portal-page-messages .ium-stat-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-messages .ium-search{
            width: 100%;
        }
body.portal-page-messages .ium-message{
            grid-template-columns: 1fr;
        }
body.portal-page-messages .ium-date{
            text-align: left;
        }
body.portal-page-messages .ium-action{
            width: 100%;
        }}

/* Scoped module: notifications.php (1) */
body.portal-page-notifications .iun{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-notifications .iun *{
        box-sizing: border-box;
    }
body.portal-page-notifications .iun a{
        text-decoration: none;
    }
body.portal-page-notifications .iun-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-notifications .iun-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-notifications .iun-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-notifications .iun-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-notifications .iun-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-notifications .iun-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-notifications .iun-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-notifications .iun-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-notifications .iun-snapshot{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-notifications .iun-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-notifications .iun-big{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 34px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
    }
body.portal-page-notifications .iun-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-notifications .iun-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-notifications .iun-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-notifications .iun-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-notifications .iun-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-notifications .iun-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-notifications .iun-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-notifications .iun-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-notifications .iun-stat{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-notifications .iun-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
body.portal-page-notifications .iun-stat-icon{
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 16px;
        color: #fff;
        background: #075fc7;
        font-size: 21px;
    }
body.portal-page-notifications .iun-stat-icon.is-green{
        background: #059669;
    }
body.portal-page-notifications .iun-stat-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-notifications .iun-stat-icon.is-indigo{
        background: #4f46e5;
    }
body.portal-page-notifications .iun-stat-value{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-notifications .iun-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-notifications .iun-panel-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-notifications .iun-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-notifications .iun-tools{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
        justify-content: flex-end;
    }
body.portal-page-notifications .iun-search{
        position: relative;
        width: 320px;
        max-width: 100%;
    }
body.portal-page-notifications .iun-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-notifications .iun-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-notifications .iun-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-notifications .iun-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 46px;
        border: 0;
        border-radius: 17px;
        background: #eff6ff;
        color: #075fc7;
        padding: 0 14px;
        cursor: pointer;
        font-size: 13px;
        font-weight: 800;
        white-space: nowrap;
    }
body.portal-page-notifications .iun-list{
        display: grid;
        gap: 12px;
    }
body.portal-page-notifications .iun-notification{
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 13px;
        align-items: center;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 14px;
        color: #0f172a;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    }
body.portal-page-notifications .iun-notification.is-unread{
        border-color: #bfdbfe;
        background: #eff6ff;
    }
body.portal-page-notifications .iun-notification:hover{
        transform: translateY(-2px);
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-notifications .iun-icon{
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        background: #fff;
        color: #075fc7;
        font-size: 25px;
        border: 1px solid #bfdbfe;
    }
body.portal-page-notifications .iun-notification strong{
        display: block;
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-notifications .iun-notification p{
        margin: 5px 0 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-notifications .iun-meta{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }
body.portal-page-notifications .iun-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-notifications .iun-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-notifications .iun-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-notifications .iun-date{
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
        text-align: right;
        white-space: nowrap;
    }
body.portal-page-notifications .iun-action{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 14px;
        border: 1px solid #bfdbfe;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
        margin-top: 8px;
    }
body.portal-page-notifications .iun-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 24px;
        background: #f8fafc;
        padding: 34px 18px;
        text-align: center;
    }
body.portal-page-notifications .iun-empty i{
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        margin: 0 auto 12px;
        border-radius: 20px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 28px;
    }
body.portal-page-notifications .iun-empty strong{
        display: block;
        color: #0f172a;
        font-size: 18px;
        font-weight: 800;
    }
body.portal-page-notifications .iun-empty b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 14px;
        font-weight: 600;
    }
@media (max-width: 1080px){body.portal-page-notifications .iun-hero-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-notifications .iun-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 700px){body.portal-page-notifications .iun{
            gap: 16px;
        }
body.portal-page-notifications .iun-hero,
body.portal-page-notifications .iun-panel{
            border-radius: 22px;
        }
body.portal-page-notifications .iun-hero-main,
body.portal-page-notifications .iun-hero-side,
body.portal-page-notifications .iun-panel{
            padding: 18px;
        }
body.portal-page-notifications .iun-title{
            font-size: 30px;
        }
body.portal-page-notifications .iun-stat-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-notifications .iun-tools,
body.portal-page-notifications .iun-search{
            width: 100%;
        }
body.portal-page-notifications .iun-search input,
body.portal-page-notifications .iun-button{
            width: 100%;
        }
body.portal-page-notifications .iun-notification{
            grid-template-columns: 1fr;
        }
body.portal-page-notifications .iun-date{
            text-align: left;
        }
body.portal-page-notifications .iun-action{
            width: 100%;
        }}

/* Scoped module: payment-submit.php (1) */
body.portal-page-payment-submit .iupay{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-payment-submit .iupay *{
        box-sizing: border-box;
    }
body.portal-page-payment-submit .iupay a{
        text-decoration: none;
    }
body.portal-page-payment-submit .iupay-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-payment-submit .iupay-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-payment-submit .iupay-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-payment-submit .iupay-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-payment-submit .iupay-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-payment-submit .iupay-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-payment-submit .iupay-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-payment-submit .iupay-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-payment-submit .iupay-info-card{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-payment-submit .iupay-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-payment-submit .iupay-info-card strong{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 22px;
        line-height: 1.2;
        font-weight: 800;
    }
body.portal-page-payment-submit .iupay-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-payment-submit .iupay-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-payment-submit .iupay-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-payment-submit .iupay-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-payment-submit .iupay-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-payment-submit .iupay-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-payment-submit .iupay-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-payment-submit .iupay-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-payment-submit .iupay-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-payment-submit .iupay-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-payment-submit .iupay-form{
        display: grid;
        gap: 16px;
        margin-top: 18px;
    }
body.portal-page-payment-submit .iupay-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-payment-submit .iupay-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-payment-submit .iupay-field-row{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-payment-submit .iupay-input,
body.portal-page-payment-submit .iupay-select,
body.portal-page-payment-submit .iupay-textarea,
body.portal-page-payment-submit .iupay-file{
        width: 100%;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-payment-submit .iupay-input,
body.portal-page-payment-submit .iupay-select,
body.portal-page-payment-submit .iupay-file{
        min-height: 54px;
        padding: 0 15px;
    }
body.portal-page-payment-submit .iupay-file{
        padding-top: 14px;
    }
body.portal-page-payment-submit .iupay-textarea{
        min-height: 120px;
        resize: vertical;
        padding: 14px 15px;
    }
body.portal-page-payment-submit .iupay-input:focus,
body.portal-page-payment-submit .iupay-select:focus,
body.portal-page-payment-submit .iupay-textarea:focus,
body.portal-page-payment-submit .iupay-file:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
    }
body.portal-page-payment-submit .iupay-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-payment-submit .iupay-side-list{
        display: grid;
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-payment-submit .iupay-step{
        display: flex;
        gap: 12px;
        align-items: flex-start;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 15px;
    }
body.portal-page-payment-submit .iupay-step i{
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 20px;
    }
body.portal-page-payment-submit .iupay-step strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.3;
        font-weight: 800;
    }
body.portal-page-payment-submit .iupay-step b{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
    }
@media (max-width: 1080px){body.portal-page-payment-submit .iupay-hero-grid,
body.portal-page-payment-submit .iupay-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 700px){body.portal-page-payment-submit .iupay{
            gap: 16px;
        }
body.portal-page-payment-submit .iupay-hero,
body.portal-page-payment-submit .iupay-panel{
            border-radius: 22px;
        }
body.portal-page-payment-submit .iupay-hero-main,
body.portal-page-payment-submit .iupay-hero-side,
body.portal-page-payment-submit .iupay-panel{
            padding: 18px;
        }
body.portal-page-payment-submit .iupay-title{
            font-size: 30px;
        }
body.portal-page-payment-submit .iupay-field-row{
            grid-template-columns: 1fr;
        }}

/* Scoped module: payment-view.php (1) */
body.portal-page-payment-view .iupv{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-payment-view .iupv *{
        box-sizing: border-box;
    }
body.portal-page-payment-view .iupv a{
        text-decoration: none;
    }
body.portal-page-payment-view .iupv-hero{
        overflow: hidden;
        border: 1px solid #e2e8f0;
        border-radius: 30px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-payment-view .iupv-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-payment-view .iupv-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-payment-view .iupv-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
body.portal-page-payment-view .iupv-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-payment-view .iupv-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-payment-view .iupv-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-payment-view .iupv-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-payment-view .iupv-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-payment-view .iupv-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-payment-view .iupv-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-payment-view .iupv-amount-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-payment-view .iupv-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-payment-view .iupv-amount{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 36px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
        word-break: break-word;
    }
body.portal-page-payment-view .iupv-status{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 7px 10px;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .06em;
    }
body.portal-page-payment-view .iupv-status.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-payment-view .iupv-status.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-payment-view .iupv-status.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-payment-view .iupv-status.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-payment-view .iupv-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.65;
        font-weight: 600;
    }
body.portal-page-payment-view .iupv-alert{
        display: flex;
        gap: 12px;
        border: 1px solid #fecdd3;
        border-radius: 22px;
        background: #fff1f2;
        color: #be123c;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(190, 18, 60, .08);
    }
body.portal-page-payment-view .iupv-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-payment-view .iupv-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-payment-view .iupv-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-payment-view .iupv-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-payment-view .iupv-panel{
        border: 1px solid #e2e8f0;
        border-radius: 28px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-payment-view .iupv-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-payment-view .iupv-meta-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-payment-view .iupv-meta{
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 15px;
    }
body.portal-page-payment-view .iupv-meta b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
body.portal-page-payment-view .iupv-meta strong{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 800;
        word-break: break-word;
        white-space: pre-wrap;
    }
body.portal-page-payment-view .iupv-side-actions{
        display: grid;
        gap: 10px;
        margin-top: 18px;
    }
body.portal-page-payment-view .iupv-side-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 50px;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-payment-view .iupv-side-button.secondary{
        border: 1px solid #bfdbfe;
        background: #fff;
        color: #075fc7;
        box-shadow: none;
    }
body.portal-page-payment-view .iupv-help{
        display: flex;
        gap: 12px;
        margin-top: 16px;
        border: 1px solid #bfdbfe;
        border-radius: 20px;
        background: #eff6ff;
        color: #0b2d73;
        padding: 15px;
    }
body.portal-page-payment-view .iupv-help i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-payment-view .iupv-help strong{
        display: block;
        font-size: 14px;
        font-weight: 800;
    }
body.portal-page-payment-view .iupv-help b{
        display: block;
        margin-top: 4px;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 650;
    }
@media (max-width: 980px){body.portal-page-payment-view .iupv-hero-grid,
body.portal-page-payment-view .iupv-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-payment-view .iupv{
            gap: 16px;
        }
body.portal-page-payment-view .iupv-hero,
body.portal-page-payment-view .iupv-panel{
            border-radius: 22px;
        }
body.portal-page-payment-view .iupv-hero-main,
body.portal-page-payment-view .iupv-side,
body.portal-page-payment-view .iupv-panel{
            padding: 18px;
        }
body.portal-page-payment-view .iupv-title{
            font-size: 30px;
        }
body.portal-page-payment-view .iupv-meta-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-payment-view .iupv-actions{
            display: grid;
        }}

/* Scoped module: payments.php (1) */
body.portal-page-payments .iupmh{display:grid;gap:22px;max-width:1180px;margin:0 auto;font-family:Manrope,"Plus Jakarta Sans",system-ui,sans-serif}
body.portal-page-payments .iupmh *{box-sizing:border-box}
body.portal-page-payments .iupmh a{text-decoration:none}
body.portal-page-payments .iupmh-hero,
body.portal-page-payments .iupmh-panel,
body.portal-page-payments .iupmh-stat{border:1px solid #e2e8f0;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08)}
body.portal-page-payments .iupmh-hero{overflow:hidden;border-radius:30px}
body.portal-page-payments .iupmh-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr)}
body.portal-page-payments .iupmh-hero-main{padding:34px;color:#fff;background:radial-gradient(circle at 0 0,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#020617 0%,#0b2d73 54%,#075fc7 100%)}
body.portal-page-payments .iupmh-pill-row{display:flex;flex-wrap:wrap;gap:8px}
body.portal-page-payments .iupmh-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.10);color:rgba(255,255,255,.86);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)}
body.portal-page-payments .iupmh-title{max-width:760px;margin:20px 0 12px;color:#fff;font-size:clamp(30px,5vw,50px);line-height:1.02;letter-spacing:-.055em;font-weight:800}
body.portal-page-payments .iupmh-copy{max-width:700px;margin:0;color:rgba(219,234,254,.88);font-size:15px;line-height:1.75;font-weight:600}
body.portal-page-payments .iupmh-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
body.portal-page-payments .iupmh-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:999px;background:#fff;color:#075fc7;padding:0 18px;font-size:14px;font-weight:800;box-shadow:0 16px 38px rgba(2,6,23,.16)}
body.portal-page-payments .iupmh-button.secondary{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;box-shadow:none}
body.portal-page-payments .iupmh-hero-side{display:grid;align-content:center;gap:14px;background:#f8fafc;padding:28px}
body.portal-page-payments .iupmh-snapshot{border:1px solid #e2e8f0;border-radius:24px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
body.portal-page-payments .iupmh-label{margin:0;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.portal-page-payments .iupmh-big{display:block;margin-top:8px;color:#0f172a;font-size:32px;line-height:1;font-weight:800;letter-spacing:-.04em;word-break:break-word}
body.portal-page-payments .iupmh-muted{margin:10px 0 0;color:#64748b;font-size:14px;line-height:1.6;font-weight:600}
body.portal-page-payments .iupmh-alert{display:flex;gap:12px;border-radius:22px;padding:16px;box-shadow:0 12px 34px rgba(15,23,42,.08)}
body.portal-page-payments .iupmh-alert.error{border:1px solid #fecdd3;background:#fff1f2;color:#be123c}
body.portal-page-payments .iupmh-alert.success{border:1px solid #bbf7d0;background:#ecfdf5;color:#047857}
body.portal-page-payments .iupmh-alert i{font-size:22px;flex:0 0 auto}
body.portal-page-payments .iupmh-alert strong{display:block;font-size:15px;font-weight:800}
body.portal-page-payments .iupmh-alert b{display:block;margin-top:3px;font-size:13px;line-height:1.6;font-weight:650}
body.portal-page-payments .iupmh-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.portal-page-payments .iupmh-stat{border-radius:24px;padding:18px}
body.portal-page-payments .iupmh-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.portal-page-payments .iupmh-stat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;color:#fff;background:#075fc7;font-size:21px}
body.portal-page-payments .iupmh-stat-icon.is-green{background:#059669}
body.portal-page-payments .iupmh-stat-icon.is-amber{background:#f59e0b}
body.portal-page-payments .iupmh-stat-icon.is-red{background:#e11d48}
body.portal-page-payments .iupmh-stat-value{display:block;margin-top:10px;color:#0f172a;font-size:30px;line-height:1;font-weight:800}
body.portal-page-payments .iupmh-panel{border-radius:28px;padding:22px}
body.portal-page-payments .iupmh-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
body.portal-page-payments .iupmh-section-title{margin:6px 0 0;color:#0f172a;font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.035em}
body.portal-page-payments .iupmh-search{position:relative;width:320px;max-width:100%}
body.portal-page-payments .iupmh-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:18px}
body.portal-page-payments .iupmh-search input{width:100%;height:46px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc;outline:none;padding:0 14px 0 42px;color:#0f172a;font-size:14px;font-weight:700}
body.portal-page-payments .iupmh-search input:focus{border-color:#60a5fa;background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
body.portal-page-payments .iupmh-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:22px}
body.portal-page-payments .iupmh-table{width:100%;min-width:900px;border-collapse:collapse;text-align:left}
body.portal-page-payments .iupmh-table th{background:#f8fafc;color:#475569;padding:14px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #e2e8f0}
body.portal-page-payments .iupmh-table td{padding:15px 14px;color:#0f172a;font-size:13px;line-height:1.45;font-weight:700;border-bottom:1px solid #e2e8f0;vertical-align:top}
body.portal-page-payments .iupmh-table tr:last-child td{border-bottom:0}
body.portal-page-payments .iupmh-purpose{display:block;font-size:14px;font-weight:800;word-break:break-word}
body.portal-page-payments .iupmh-sub{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:600;word-break:break-word}
body.portal-page-payments .iupmh-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
body.portal-page-payments .iupmh-badge.is-green{background:#ecfdf5;color:#047857}
body.portal-page-payments .iupmh-badge.is-red{background:#fff1f2;color:#be123c}
body.portal-page-payments .iupmh-badge.is-blue{background:#eff6ff;color:#1d4ed8}
body.portal-page-payments .iupmh-badge.is-amber{background:#fffbeb;color:#b45309}
body.portal-page-payments .iupmh-action-row{display:flex;flex-wrap:wrap;gap:8px}
body.portal-page-payments .iupmh-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;background:#eff6ff;color:#075fc7;padding:0 12px;border:1px solid #bfdbfe;font-size:12px;font-weight:800;white-space:nowrap}
body.portal-page-payments .iupmh-empty{border:1px dashed #cbd5e1;border-radius:24px;background:#f8fafc;padding:34px 18px;text-align:center}
body.portal-page-payments .iupmh-empty i{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:20px;background:#eff6ff;color:#075fc7;font-size:28px}
body.portal-page-payments .iupmh-empty strong{display:block;color:#0f172a;font-size:18px;font-weight:800}
body.portal-page-payments .iupmh-empty b{display:block;margin-top:6px;color:#64748b;font-size:14px;font-weight:600}
@media (max-width:1080px){body.portal-page-payments .iupmh-hero-grid{grid-template-columns:1fr}
body.portal-page-payments .iupmh-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){body.portal-page-payments .iupmh{gap:16px}
body.portal-page-payments .iupmh-hero,
body.portal-page-payments .iupmh-panel{border-radius:22px}
body.portal-page-payments .iupmh-hero-main,
body.portal-page-payments .iupmh-hero-side,
body.portal-page-payments .iupmh-panel{padding:18px}
body.portal-page-payments .iupmh-title{font-size:30px}
body.portal-page-payments .iupmh-stat-grid{grid-template-columns:1fr}
body.portal-page-payments .iupmh-search{width:100%}
body.portal-page-payments .iupmh-actions{display:grid}}

/* Scoped module: pending-approval.php (1) */
body.portal-page-pending-approval{
            --blue: #075fc7;
            --blue2: #0b76ef;
            --slate: #0f172a;
            --muted: #64748b;
            --border: #e2e8f0;
            --bg: #f6f9fc;
            --amber: #f59e0b;
            --shadow: 0 22px 70px rgba(15, 23, 42, .12);
            --font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-pending-approval *{
            box-sizing: border-box;
        }
body.portal-page-pending-approval{
            min-height: 100%;
            background: var(--bg);
        }
body.portal-page-pending-approval{
            margin: 0;
            min-width: 320px;
            min-height: 100vh;
            max-width: 100%;
            overflow-x: hidden;
            color: var(--slate);
            background:
                radial-gradient(circle at 8% 8%, rgba(11, 118, 239, .13), transparent 30%),
                radial-gradient(circle at 92% 12%, rgba(245, 158, 11, .17), transparent 28%),
                linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #eef5ff 100%);
            font-family: var(--font);
            letter-spacing: -.01em;
        }
body.portal-page-pending-approval a{
            color: inherit;
            text-decoration: none;
        }
body.portal-page-pending-approval .pa-wrap{
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 24px;
        }
body.portal-page-pending-approval .pa-shell{
            width: min(100%, 1060px);
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 34px;
            background: #fff;
            box-shadow: var(--shadow);
        }
body.portal-page-pending-approval .pa-hero{
            position: relative;
            min-height: 650px;
            padding: 42px;
            color: #fff;
            background:
                radial-gradient(circle at 10% 10%, rgba(255,255,255,.18), transparent 32%),
                linear-gradient(135deg, #020617 0%, #0b2d73 56%, #075fc7 100%);
        }
body.portal-page-pending-approval .pa-logo{
            display: inline-flex;
            align-items: center;
            border-radius: 24px;
            background: #fff;
            padding: 12px 16px;
            box-shadow: 0 18px 42px rgba(2, 6, 23, .22);
        }
body.portal-page-pending-approval .pa-logo img{
            display: block;
            width: auto;
            height: 52px;
            max-width: 210px;
            object-fit: contain;
        }
body.portal-page-pending-approval .pa-chip{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 30px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 999px;
            background: rgba(255,255,255,.10);
            padding: 8px 12px;
            color: rgba(255,255,255,.84);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }
body.portal-page-pending-approval .pa-hero h1{
            max-width: 650px;
            margin: 18px 0 0;
            color: #fff;
            font-size: clamp(38px, 6vw, 66px);
            line-height: .98;
            letter-spacing: -.06em;
            font-weight: 800;
        }
body.portal-page-pending-approval .pa-hero p{
            max-width: 620px;
            margin: 18px 0 0;
            color: rgba(219, 234, 254, .88);
            font-size: 16px;
            line-height: 1.8;
            font-weight: 600;
        }
body.portal-page-pending-approval .pa-timeline{
            display: grid;
            gap: 12px;
            margin-top: 34px;
        }
body.portal-page-pending-approval .pa-step{
            display: flex;
            gap: 12px;
            align-items: flex-start;
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 20px;
            background: rgba(255,255,255,.09);
            padding: 15px;
        }
body.portal-page-pending-approval .pa-step i{
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            border-radius: 15px;
            background: rgba(255,255,255,.14);
            color: #fff;
            font-size: 20px;
        }
body.portal-page-pending-approval .pa-step strong{
            display: block;
            color: #fff;
            font-size: 14px;
            line-height: 1.3;
            font-weight: 800;
        }
body.portal-page-pending-approval .pa-step b{
            display: block;
            margin-top: 4px;
            color: rgba(255,255,255,.68);
            font-size: 12px;
            line-height: 1.5;
            font-weight: 600;
        }
body.portal-page-pending-approval .pa-panel{
            display: grid;
            align-content: center;
            padding: 42px;
            background:
                radial-gradient(circle at 100% 0%, rgba(245, 158, 11, .10), transparent 30%),
                #ffffff;
        }
body.portal-page-pending-approval .pa-card{
            width: 100%;
        }
body.portal-page-pending-approval .pa-icon{
            display: grid;
            place-items: center;
            width: 74px;
            height: 74px;
            border-radius: 28px;
            background: #fffbeb;
            color: #b45309;
            font-size: 36px;
            margin-bottom: 18px;
            border: 1px solid #fde68a;
        }
body.portal-page-pending-approval .pa-label{
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border-radius: 999px;
            background: #eff6ff;
            color: #075fc7;
            padding: 7px 11px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
body.portal-page-pending-approval .pa-card h2{
            margin: 14px 0 0;
            color: #0f172a;
            font-size: 32px;
            line-height: 1.12;
            letter-spacing: -.04em;
            font-weight: 800;
        }
body.portal-page-pending-approval .pa-card p{
            margin: 10px 0 0;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.75;
            font-weight: 600;
        }
body.portal-page-pending-approval .pa-notice{
            margin-top: 18px;
            border: 1px solid #fde68a;
            border-radius: 22px;
            background: #fffbeb;
            padding: 16px;
            color: #92400e;
        }
body.portal-page-pending-approval .pa-notice strong{
            display: block;
            font-size: 14px;
            font-weight: 800;
        }
body.portal-page-pending-approval .pa-notice b{
            display: block;
            margin-top: 5px;
            font-size: 13px;
            line-height: 1.6;
            font-weight: 650;
        }
body.portal-page-pending-approval .pa-account{
            margin-top: 18px;
            border: 1px solid var(--border);
            border-radius: 22px;
            background: #f8fafc;
            padding: 16px;
        }
body.portal-page-pending-approval .pa-account b{
            display: block;
            color: #64748b;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .11em;
            text-transform: uppercase;
        }
body.portal-page-pending-approval .pa-account strong{
            display: block;
            margin-top: 6px;
            color: #0f172a;
            font-size: 15px;
            line-height: 1.45;
            font-weight: 800;
            word-break: break-word;
        }
body.portal-page-pending-approval .pa-actions{
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 22px;
        }
body.portal-page-pending-approval .pa-btn{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 52px;
            border-radius: 18px;
            background: linear-gradient(135deg, #075fc7, #0b76ef);
            color: #fff;
            padding: 0 16px;
            font-size: 14px;
            font-weight: 800;
            box-shadow: 0 16px 34px rgba(7, 95, 199, .22);
            text-align: center;
        }
body.portal-page-pending-approval .pa-btn.secondary{
            border: 1px solid #bfdbfe;
            background: #fff;
            color: #075fc7;
            box-shadow: none;
        }
body.portal-page-pending-approval .pa-btn.muted{
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            color: #475569;
            box-shadow: none;
        }
body.portal-page-pending-approval .pa-footer{
            margin-top: 18px;
            color: #94a3b8;
            font-size: 12px;
            line-height: 1.6;
            font-weight: 650;
            text-align: center;
        }
@media (max-width: 980px){body.portal-page-pending-approval .pa-shell{
                grid-template-columns: 1fr;
            }
body.portal-page-pending-approval .pa-hero{
                min-height: auto;
            }}
@media (max-width: 640px){body.portal-page-pending-approval .pa-wrap{
                padding: 14px;
                place-items: stretch;
            }
body.portal-page-pending-approval .pa-shell{
                border-radius: 24px;
            }
body.portal-page-pending-approval .pa-hero,
body.portal-page-pending-approval .pa-panel{
                padding: 24px;
            }
body.portal-page-pending-approval .pa-logo img{
                height: 42px;
                max-width: 180px;
            }
body.portal-page-pending-approval .pa-hero h1{
                font-size: 34px;
            }
body.portal-page-pending-approval .pa-actions{
                grid-template-columns: 1fr;
            }}

/* Scoped module: profile.php (1) */
body.portal-page-profile .iuprof{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-profile .iuprof *{
        box-sizing: border-box;
    }
body.portal-page-profile .iuprof a{
        text-decoration: none;
    }
body.portal-page-profile .iuprof-hero,
body.portal-page-profile .iuprof-panel,
body.portal-page-profile .iuprof-card{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-profile .iuprof-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-profile .iuprof-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-profile .iuprof-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-profile .iuprof-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-profile .iuprof-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-profile .iuprof-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-profile .iuprof-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-profile .iuprof-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-profile .iuprof-profile-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        text-align: center;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-profile .iuprof-avatar{
        display: grid;
        place-items: center;
        width: 84px;
        height: 84px;
        margin: 0 auto 14px;
        border-radius: 30px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        font-size: 28px;
        font-weight: 900;
        letter-spacing: -.04em;
        box-shadow: 0 18px 38px rgba(7, 95, 199, .22);
    }
body.portal-page-profile .iuprof-profile-card strong{
        display: block;
        color: #0f172a;
        font-size: 20px;
        line-height: 1.25;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-profile .iuprof-profile-card b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.5;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-profile .iuprof-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-profile .iuprof-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-profile .iuprof-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-profile .iuprof-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-profile .iuprof-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-profile .iuprof-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-profile .iuprof-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-profile .iuprof-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-profile .iuprof-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-profile .iuprof-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-profile .iuprof-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-profile .iuprof-form{
        display: grid;
        gap: 16px;
        margin-top: 18px;
    }
body.portal-page-profile .iuprof-row{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-profile .iuprof-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-profile .iuprof-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-profile .iuprof-input{
        width: 100%;
        min-height: 54px;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 0 15px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-profile .iuprof-input[readonly],
body.portal-page-profile .iuprof-input[disabled]{
        background: #f1f5f9;
        color: #64748b;
        cursor: not-allowed;
    }
body.portal-page-profile .iuprof-input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-profile .iuprof-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-profile .iuprof-card{
        border-radius: 22px;
        padding: 16px;
    }
body.portal-page-profile .iuprof-card + .iuprof-card{
        margin-top: 12px;
    }
body.portal-page-profile .iuprof-card strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.4;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-profile .iuprof-card b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-profile .iuprof-status{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 6px 9px;
        background: #eff6ff;
        color: #1d4ed8;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
@media (max-width: 980px){body.portal-page-profile .iuprof-hero-grid,
body.portal-page-profile .iuprof-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-profile .iuprof{
            gap: 16px;
        }
body.portal-page-profile .iuprof-hero,
body.portal-page-profile .iuprof-panel{
            border-radius: 22px;
        }
body.portal-page-profile .iuprof-hero-main,
body.portal-page-profile .iuprof-side,
body.portal-page-profile .iuprof-panel{
            padding: 18px;
        }
body.portal-page-profile .iuprof-title{
            font-size: 30px;
        }
body.portal-page-profile .iuprof-row{
            grid-template-columns: 1fr;
        }}

/* Scoped module: receipts.php (1) */
body.portal-page-receipts .iurc{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-receipts .iurc *{
        box-sizing: border-box;
    }
body.portal-page-receipts .iurc a{
        text-decoration: none;
    }
body.portal-page-receipts .iurc-hero,
body.portal-page-receipts .iurc-panel,
body.portal-page-receipts .iurc-stat{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-receipts .iurc-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-receipts .iurc-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    }
body.portal-page-receipts .iurc-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-receipts .iurc-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-receipts .iurc-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-receipts .iurc-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-receipts .iurc-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-receipts .iurc-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-receipts .iurc-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-receipts .iurc-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-receipts .iurc-hero-side{
        display: grid;
        align-content: center;
        gap: 14px;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-receipts .iurc-snapshot{
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        background: #fff;
        padding: 18px;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }
body.portal-page-receipts .iurc-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-receipts .iurc-big{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 32px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -.04em;
        word-break: break-word;
    }
body.portal-page-receipts .iurc-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-receipts .iurc-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-receipts .iurc-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-receipts .iurc-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-receipts .iurc-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-receipts .iurc-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-receipts .iurc-alert b{
        display: block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-receipts .iurc-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-receipts .iurc-stat{
        border-radius: 24px;
        padding: 18px;
    }
body.portal-page-receipts .iurc-stat-top{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
body.portal-page-receipts .iurc-stat-icon{
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 16px;
        color: #fff;
        background: #075fc7;
        font-size: 21px;
    }
body.portal-page-receipts .iurc-stat-icon.is-green{
        background: #059669;
    }
body.portal-page-receipts .iurc-stat-icon.is-amber{
        background: #f59e0b;
    }
body.portal-page-receipts .iurc-stat-icon.is-indigo{
        background: #4f46e5;
    }
body.portal-page-receipts .iurc-stat-value{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-receipts .iurc-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-receipts .iurc-panel-head{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }
body.portal-page-receipts .iurc-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-receipts .iurc-search{
        position: relative;
        width: 320px;
        max-width: 100%;
    }
body.portal-page-receipts .iurc-search i{
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 18px;
    }
body.portal-page-receipts .iurc-search input{
        width: 100%;
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        padding: 0 14px 0 42px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-receipts .iurc-search input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-receipts .iurc-list{
        display: grid;
        gap: 12px;
    }
body.portal-page-receipts .iurc-item{
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 13px;
        align-items: center;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 14px;
        color: #0f172a;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
body.portal-page-receipts .iurc-item:hover{
        transform: translateY(-2px);
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-receipts .iurc-icon{
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 25px;
    }
body.portal-page-receipts .iurc-item strong{
        display: block;
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-receipts .iurc-item p{
        margin: 5px 0 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
        word-break: break-word;
    }
body.portal-page-receipts .iurc-meta{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }
body.portal-page-receipts .iurc-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        padding: 5px 8px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-receipts .iurc-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-receipts .iurc-badge.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-receipts .iurc-badge.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-receipts .iurc-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-receipts .iurc-date{
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
        text-align: right;
        white-space: nowrap;
    }
body.portal-page-receipts .iurc-action{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 14px;
        border: 1px solid #bfdbfe;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
        margin-top: 8px;
    }
body.portal-page-receipts .iurc-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 24px;
        background: #f8fafc;
        padding: 34px 18px;
        text-align: center;
    }
body.portal-page-receipts .iurc-empty i{
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        margin: 0 auto 12px;
        border-radius: 20px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 28px;
    }
body.portal-page-receipts .iurc-empty strong{
        display: block;
        color: #0f172a;
        font-size: 18px;
        font-weight: 800;
    }
body.portal-page-receipts .iurc-empty b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 14px;
        font-weight: 600;
    }
@media (max-width: 1080px){body.portal-page-receipts .iurc-hero-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-receipts .iurc-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 700px){body.portal-page-receipts .iurc{
            gap: 16px;
        }
body.portal-page-receipts .iurc-hero,
body.portal-page-receipts .iurc-panel{
            border-radius: 22px;
        }
body.portal-page-receipts .iurc-hero-main,
body.portal-page-receipts .iurc-hero-side,
body.portal-page-receipts .iurc-panel{
            padding: 18px;
        }
body.portal-page-receipts .iurc-title{
            font-size: 30px;
        }
body.portal-page-receipts .iurc-stat-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-receipts .iurc-search{
            width: 100%;
        }
body.portal-page-receipts .iurc-item{
            grid-template-columns: 1fr;
        }
body.portal-page-receipts .iurc-date{
            text-align: left;
        }
body.portal-page-receipts .iurc-action{
            width: 100%;
        }
body.portal-page-receipts .iurc-actions{
            display: grid;
        }}

/* Scoped module: register.php (1) */
body.portal-page-register,
body.portal-page-register{
            min-width: 320px;
            max-width: 100%;
            overflow-x: hidden;
        }
body.portal-page-register.auth-body{
            min-height: 100vh;
            margin: 0;
            background:
                radial-gradient(circle at 12% 12%, rgba(0, 124, 255, .18), transparent 30%),
                radial-gradient(circle at 88% 14%, rgba(0, 183, 255, .16), transparent 26%),
                linear-gradient(180deg, #ffffff 0%, #f4faff 48%, #ffffff 100%);
            color: #07121f;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
body.portal-page-register .auth-shell{
            min-height: 100vh;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(420px, 570px);
        }
body.portal-page-register .auth-visual{
            position: relative;
            isolation: isolate;
            padding: 64px;
            background:
                linear-gradient(180deg, rgba(0, 95, 232, .88), rgba(4, 16, 31, .94)),
                url("/images/hero-slide-1.jpg") center / cover no-repeat;
            color: #ffffff;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
body.portal-page-register .auth-visual::after{
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background-image:
                linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
            background-size: 34px 34px;
            opacity: .42;
        }
body.portal-page-register .auth-logo{
            position: relative;
            z-index: 2;
            display: inline-flex;
            width: fit-content;
            padding: 12px 18px;
            border-radius: 22px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 22px 60px rgba(0, 0, 0, .22);
        }
body.portal-page-register .auth-logo img{
            height: 54px;
            width: auto;
            display: block;
        }
body.portal-page-register .auth-hero-copy{
            position: relative;
            z-index: 2;
            max-width: 680px;
        }
body.portal-page-register .auth-chip{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 9px 15px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .12);
            border: 1px solid rgba(255, 255, 255, .22);
            color: #ffffff;
            font-size: 12px;
            font-weight: 850;
            letter-spacing: .12em;
            text-transform: uppercase;
            margin-bottom: 22px;
        }
body.portal-page-register .auth-chip b{
            width: 9px;
            height: 9px;
            border-radius: 999px;
            background: #ff2b1f;
            box-shadow: 0 0 0 7px rgba(255, 43, 31, .16);
        }
body.portal-page-register .auth-hero-copy h1{
            margin: 0;
            max-width: 720px;
            font-size: clamp(36px, 4.9vw, 66px);
            line-height: 1.08;
            letter-spacing: -.035em;
            font-weight: 850;
            color: #ffffff;
            text-wrap: balance;
        }
body.portal-page-register .auth-hero-copy p{
            max-width: 580px;
            color: rgba(255, 255, 255, .88);
            font-size: 18px;
            line-height: 1.72;
            margin-top: 26px;
        }
body.portal-page-register .auth-metrics{
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
            margin-top: 46px;
        }
body.portal-page-register .auth-metric{
            padding: 18px;
            border-radius: 22px;
            background: rgba(255, 255, 255, .10);
            border: 1px solid rgba(255, 255, 255, .18);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }
body.portal-page-register .auth-metric strong{
            display: block;
            font-size: 25px;
            line-height: 1;
            color: #ffffff;
            letter-spacing: -.04em;
        }
body.portal-page-register .auth-metric b{
            display: block;
            margin-top: 7px;
            font-size: 12px;
            color: rgba(255, 255, 255, .74);
            font-weight: 750;
        }
body.portal-page-register .auth-panel{
            padding: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            background:
                radial-gradient(circle at top right, rgba(0, 124, 255, .10), transparent 26%),
                #ffffff;
        }
body.portal-page-register .auth-card{
            width: min(100%, 540px);
            padding: 34px;
            border-radius: 30px;
            background: rgba(255, 255, 255, .96);
            border: 1px solid rgba(0, 124, 255, .14);
            box-shadow: 0 28px 80px rgba(4, 16, 31, .14);
        }
body.portal-page-register .auth-card h2{
            margin: 0 0 8px;
            font-size: 31px;
            line-height: 1.06;
            letter-spacing: -.055em;
            color: #04101f;
            font-weight: 950;
        }
body.portal-page-register .auth-card > p{
            margin: 0 0 24px;
            color: #5f6673;
            font-size: 15px;
        }
body.portal-page-register .auth-alert{
            border-radius: 18px;
            padding: 14px 16px;
            margin-bottom: 18px;
            font-size: 14px;
            line-height: 1.65;
        }
body.portal-page-register .auth-alert.error{
            background: #fff1f0;
            color: #ad1f12;
            border: 1px solid rgba(229, 31, 20, .18);
        }
body.portal-page-register .auth-alert.success{
            background: #ecfff6;
            color: #075f3f;
            border: 1px solid rgba(0, 160, 100, .16);
        }
body.portal-page-register .auth-alert.notice{
            background: #f4faff;
            color: #103b6a;
            border: 1px solid rgba(0, 124, 255, .16);
        }
body.portal-page-register .auth-alert ul{
            margin: 0;
            padding-left: 18px;
        }
body.portal-page-register .auth-form{
            display: grid;
            gap: 15px;
        }
body.portal-page-register .auth-row{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
        }
body.portal-page-register .auth-field label{
            display: block;
            margin-bottom: 8px;
            color: #103b6a;
            font-size: 12px;
            font-weight: 950;
            text-transform: uppercase;
            letter-spacing: .09em;
        }
body.portal-page-register .password-wrap{
            position: relative;
        }
body.portal-page-register .auth-field input,
body.portal-page-register .auth-field select{
            width: 100%;
            min-height: 52px;
            border-radius: 17px;
            border: 1px solid rgba(0, 124, 255, .18);
            background: #ffffff;
            color: #04101f;
            padding: 0 16px;
            outline: none;
            box-shadow: 0 12px 28px rgba(4, 16, 31, .05);
            box-sizing: border-box;
        }
body.portal-page-register .password-wrap input{
            padding-right: 88px;
        }
body.portal-page-register .auth-field input:focus,
body.portal-page-register .auth-field select:focus{
            border-color: #0878f2;
            box-shadow: 0 0 0 4px rgba(8, 120, 242, .14), 0 12px 28px rgba(4, 16, 31, .05);
        }
body.portal-page-register .password-toggle{
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            min-height: 36px;
            border: 0;
            border-radius: 999px;
            background: #eef7ff;
            color: #0878f2;
            padding: 0 12px;
            font-weight: 900;
            cursor: pointer;
        }
body.portal-page-register .auth-check{
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: #5f6673;
            font-size: 13px;
            line-height: 1.55;
        }
body.portal-page-register .auth-check input{
            margin-top: 3px;
            accent-color: #007cff;
        }
body.portal-page-register .auth-submit{
            width: 100%;
            min-height: 54px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(180deg, #16a2ff, #007cff 58%, #005fe8);
            color: #ffffff;
            font-weight: 950;
            cursor: pointer;
            box-shadow: 0 18px 48px rgba(0, 124, 255, .30);
            transition: transform .18s ease, filter .18s ease, opacity .18s ease;
        }
body.portal-page-register .auth-submit:hover{
            filter: brightness(.98);
            transform: translateY(-1px);
        }
body.portal-page-register .auth-submit:disabled{
            opacity: .75;
            cursor: wait;
        }
body.portal-page-register .auth-submit.secondary{
            background: #ffffff;
            color: #007cff;
            border: 1px solid rgba(0, 124, 255, .18);
            box-shadow: 0 12px 28px rgba(4, 16, 31, .06);
        }
body.portal-page-register .auth-switch{
            margin-top: 20px;
            text-align: center;
            font-size: 14px;
            color: #5f6673;
        }
body.portal-page-register .auth-switch a{
            color: #007cff;
            font-weight: 900;
            text-decoration: none;
        }
body.portal-page-register .auth-switch a:hover{
            text-decoration: underline;
        }
body.portal-page-register .success-actions{
            display: grid;
            gap: 12px;
            margin-top: 18px;
        }
@media (max-width: 980px){body.portal-page-register .auth-shell{
                grid-template-columns: 1fr;
            }
body.portal-page-register .auth-visual{
                padding: 42px 24px;
            }
body.portal-page-register .auth-metrics,
body.portal-page-register .auth-row{
                grid-template-columns: 1fr;
            }
body.portal-page-register .auth-panel{
                padding: 28px 14px 44px;
            }}
@media (max-width: 640px){body.portal-page-register .auth-card{
                padding: 24px 18px;
                border-radius: 24px;
            }
body.portal-page-register .auth-hero-copy h1{
                font-size: 34px;
                line-height: 1.12;
                letter-spacing: -.025em;
            }
body.portal-page-register .auth-hero-copy p{
                font-size: 16px;
                margin-top: 18px;
            }}

/* Scoped module: reset-password.php (1) */
body.portal-page-reset-password{
            --blue: #075fc7;
            --blue2: #0b76ef;
            --slate: #0f172a;
            --muted: #64748b;
            --border: #e2e8f0;
            --bg: #f6f9fc;
            --shadow: 0 22px 70px rgba(15, 23, 42, .12);
            --font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
body.portal-page-reset-password *{
            box-sizing: border-box;
        }
body.portal-page-reset-password{
            min-height: 100%;
            background: var(--bg);
        }
body.portal-page-reset-password{
            margin: 0;
            min-width: 320px;
            min-height: 100vh;
            max-width: 100%;
            overflow-x: hidden;
            color: var(--slate);
            background:
                radial-gradient(circle at 8% 8%, rgba(11, 118, 239, .14), transparent 30%),
                radial-gradient(circle at 92% 12%, rgba(14, 165, 233, .13), transparent 28%),
                linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #eef5ff 100%);
            font-family: var(--font);
            letter-spacing: -.01em;
        }
body.portal-page-reset-password a{
            color: inherit;
            text-decoration: none;
        }
body.portal-page-reset-password .rp-wrap{
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 24px;
        }
body.portal-page-reset-password .rp-shell{
            width: min(100%, 980px);
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 34px;
            background: #fff;
            box-shadow: var(--shadow);
        }
body.portal-page-reset-password .rp-visual{
            position: relative;
            padding: 42px;
            color: #fff;
            background:
                radial-gradient(circle at 10% 10%, rgba(255,255,255,.18), transparent 32%),
                linear-gradient(135deg, #020617 0%, #0b2d73 56%, #075fc7 100%);
            overflow: hidden;
        }
body.portal-page-reset-password .rp-logo{
            display: inline-flex;
            align-items: center;
            border-radius: 24px;
            background: #fff;
            padding: 12px 16px;
            box-shadow: 0 18px 42px rgba(2, 6, 23, .22);
        }
body.portal-page-reset-password .rp-logo img{
            display: block;
            width: auto;
            height: 52px;
            max-width: 210px;
            object-fit: contain;
        }
body.portal-page-reset-password .rp-chip{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 42px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 999px;
            background: rgba(255,255,255,.10);
            padding: 8px 12px;
            color: rgba(255,255,255,.84);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }
body.portal-page-reset-password .rp-visual h1{
            max-width: 590px;
            margin: 18px 0 0;
            color: #fff;
            font-size: clamp(36px, 5.6vw, 62px);
            line-height: 1;
            letter-spacing: -.06em;
            font-weight: 800;
        }
body.portal-page-reset-password .rp-visual p{
            max-width: 560px;
            margin: 18px 0 0;
            color: rgba(219, 234, 254, .88);
            font-size: 16px;
            line-height: 1.8;
            font-weight: 600;
        }
body.portal-page-reset-password .rp-steps{
            display: grid;
            gap: 12px;
            margin-top: 36px;
        }
body.portal-page-reset-password .rp-step{
            display: flex;
            gap: 12px;
            align-items: flex-start;
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 20px;
            background: rgba(255,255,255,.09);
            padding: 15px;
        }
body.portal-page-reset-password .rp-step-icon{
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            border-radius: 15px;
            background: rgba(255,255,255,.14);
            color: #fff;
            font-size: 20px;
            font-weight: 900;
        }
body.portal-page-reset-password .rp-step strong{
            display: block;
            color: #fff;
            font-size: 14px;
            line-height: 1.3;
            font-weight: 800;
        }
body.portal-page-reset-password .rp-step b{
            display: block;
            margin-top: 4px;
            color: rgba(255,255,255,.68);
            font-size: 12px;
            line-height: 1.5;
            font-weight: 600;
        }
body.portal-page-reset-password .rp-panel{
            display: grid;
            align-content: center;
            padding: 42px;
            background:
                radial-gradient(circle at 100% 0%, rgba(7, 95, 199, .08), transparent 30%),
                #ffffff;
        }
body.portal-page-reset-password .rp-card h2{
            margin: 0;
            color: #0f172a;
            font-size: 32px;
            line-height: 1.12;
            letter-spacing: -.04em;
            font-weight: 800;
        }
body.portal-page-reset-password .rp-card p{
            margin: 10px 0 0;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.75;
            font-weight: 600;
        }
body.portal-page-reset-password .rp-alert{
            border-radius: 20px;
            padding: 14px 16px;
            margin-top: 18px;
            font-size: 13px;
            line-height: 1.6;
            font-weight: 650;
        }
body.portal-page-reset-password .rp-alert.error{
            border: 1px solid #fecdd3;
            background: #fff1f2;
            color: #be123c;
        }
body.portal-page-reset-password .rp-alert.success{
            border: 1px solid #bbf7d0;
            background: #ecfdf5;
            color: #047857;
        }
body.portal-page-reset-password .rp-alert ul{
            margin: 0;
            padding-left: 18px;
        }
body.portal-page-reset-password .rp-form{
            display: grid;
            gap: 14px;
            margin-top: 20px;
        }
body.portal-page-reset-password .rp-field{
            display: grid;
            gap: 8px;
        }
body.portal-page-reset-password .rp-field label{
            color: #334155;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .09em;
            text-transform: uppercase;
        }
body.portal-page-reset-password .rp-password{
            position: relative;
        }
body.portal-page-reset-password .rp-input{
            width: 100%;
            min-height: 54px;
            border: 1px solid var(--border);
            border-radius: 18px;
            outline: none;
            background: #f8fafc;
            color: #0f172a;
            padding: 0 15px;
            font-size: 14px;
            font-weight: 700;
        }
body.portal-page-reset-password .rp-password .rp-input{
            padding-right: 86px;
        }
body.portal-page-reset-password .rp-input:focus{
            border-color: #60a5fa;
            background: #fff;
            box-shadow: 0 0 0 4px rgba(59,130,246,.12);
        }
body.portal-page-reset-password .rp-toggle{
            position: absolute;
            top: 50%;
            right: 8px;
            transform: translateY(-50%);
            min-height: 38px;
            border: 0;
            border-radius: 999px;
            background: #eff6ff;
            color: #075fc7;
            padding: 0 12px;
            cursor: pointer;
            font-size: 12px;
            font-weight: 900;
        }
body.portal-page-reset-password .rp-submit{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            min-height: 54px;
            border: 0;
            border-radius: 18px;
            background: linear-gradient(135deg, #075fc7, #0b76ef);
            color: #fff;
            cursor: pointer;
            padding: 0 18px;
            font-size: 14px;
            font-weight: 900;
            box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
        }
body.portal-page-reset-password .rp-link-grid{
            display: grid;
            gap: 10px;
            margin-top: 18px;
        }
body.portal-page-reset-password .rp-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 50px;
            border-radius: 18px;
            border: 1px solid #bfdbfe;
            background: #fff;
            color: #075fc7;
            padding: 0 16px;
            font-size: 14px;
            font-weight: 900;
        }
body.portal-page-reset-password .rp-link.primary{
            border: 0;
            background: linear-gradient(135deg, #075fc7, #0b76ef);
            color: #fff;
        }
body.portal-page-reset-password .rp-note{
            margin-top: 16px;
            border: 1px solid #bfdbfe;
            border-radius: 20px;
            background: #eff6ff;
            color: #0b2d73;
            padding: 14px;
            font-size: 13px;
            line-height: 1.6;
            font-weight: 650;
        }
@media (max-width: 900px){body.portal-page-reset-password .rp-shell{
                grid-template-columns: 1fr;
            }}
@media (max-width: 640px){body.portal-page-reset-password .rp-wrap{
                padding: 14px;
                place-items: stretch;
            }
body.portal-page-reset-password .rp-shell{
                border-radius: 24px;
            }
body.portal-page-reset-password .rp-visual,
body.portal-page-reset-password .rp-panel{
                padding: 24px;
            }
body.portal-page-reset-password .rp-logo img{
                height: 42px;
                max-width: 180px;
            }
body.portal-page-reset-password .rp-visual h1{
                font-size: 34px;
            }}

/* Scoped module: security.php (1) */
body.portal-page-security .iusec{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-security .iusec *{
        box-sizing: border-box;
    }
body.portal-page-security .iusec-hero,
body.portal-page-security .iusec-panel{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-security .iusec-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-security .iusec-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-security .iusec-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-security .iusec-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-security .iusec-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-security .iusec-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-security .iusec-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-security .iusec-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-security .iusec-lock{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-security .iusec-lock-icon{
        display: grid;
        place-items: center;
        width: 62px;
        height: 62px;
        border-radius: 22px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 29px;
        margin-bottom: 14px;
    }
body.portal-page-security .iusec-lock strong{
        display: block;
        color: #0f172a;
        font-size: 19px;
        line-height: 1.3;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-security .iusec-lock b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-security .iusec-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-security .iusec-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-security .iusec-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-security .iusec-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-security .iusec-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-security .iusec-alert b,
body.portal-page-security .iusec-alert li{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-security .iusec-grid{
        display: grid;
        grid-template-columns: minmax(0, 760px);
        justify-content: center;
        gap: 18px;
        align-items: start;
    }
body.portal-page-security .iusec-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-security .iusec-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-security .iusec-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-security .iusec-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-security .iusec-form{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-security .iusec-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-security .iusec-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-security .iusec-password{
        position: relative;
    }
body.portal-page-security .iusec-input{
        width: 100%;
        min-height: 54px;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 0 15px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-security .iusec-password .iusec-input{
        padding-right: 88px;
    }
body.portal-page-security .iusec-input:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-security .iusec-toggle{
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%);
        min-height: 38px;
        border: 0;
        border-radius: 999px;
        background: #eff6ff;
        color: #075fc7;
        padding: 0 12px;
        cursor: pointer;
        font-size: 12px;
        font-weight: 900;
    }
body.portal-page-security .iusec-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-security .iusec-note{
        margin-top: 15px;
        border: 1px solid #bfdbfe;
        border-radius: 20px;
        background: #eff6ff;
        color: #0b2d73;
        padding: 14px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
@media (max-width: 980px){body.portal-page-security .iusec-hero-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-security .iusec{
            gap: 16px;
        }
body.portal-page-security .iusec-hero,
body.portal-page-security .iusec-panel{
            border-radius: 22px;
        }
body.portal-page-security .iusec-hero-main,
body.portal-page-security .iusec-side,
body.portal-page-security .iusec-panel{
            padding: 18px;
        }
body.portal-page-security .iusec-title{
            font-size: 30px;
        }}

/* Scoped module: service-request.php (1) */
body.portal-page-service-request .iusr{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-service-request .iusr *{
        box-sizing: border-box;
    }
body.portal-page-service-request .iusr a{
        text-decoration: none;
    }
body.portal-page-service-request .iusr-hero,
body.portal-page-service-request .iusr-panel,
body.portal-page-service-request .iusr-card{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-service-request .iusr-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-service-request .iusr-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-service-request .iusr-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-service-request .iusr-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-service-request .iusr-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-service-request .iusr-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-service-request .iusr-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-service-request .iusr-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-service-request .iusr-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-service-request .iusr-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-service-request .iusr-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-service-request .iusr-side-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-service-request .iusr-side-icon{
        display: grid;
        place-items: center;
        width: 62px;
        height: 62px;
        border-radius: 22px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 29px;
        margin-bottom: 14px;
    }
body.portal-page-service-request .iusr-side-card strong{
        display: block;
        color: #0f172a;
        font-size: 19px;
        line-height: 1.3;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-service-request .iusr-side-card b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-service-request .iusr-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-service-request .iusr-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-service-request .iusr-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-service-request .iusr-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-service-request .iusr-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-service-request .iusr-alert li,
body.portal-page-service-request .iusr-alert b{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-service-request .iusr-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-service-request .iusr-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-service-request .iusr-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-service-request .iusr-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-service-request .iusr-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-service-request .iusr-form{
        display: grid;
        gap: 16px;
        margin-top: 18px;
    }
body.portal-page-service-request .iusr-row{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-service-request .iusr-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-service-request .iusr-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-service-request .iusr-input,
body.portal-page-service-request .iusr-select,
body.portal-page-service-request .iusr-textarea{
        width: 100%;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 0 15px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-service-request .iusr-input,
body.portal-page-service-request .iusr-select{
        min-height: 54px;
    }
body.portal-page-service-request .iusr-textarea{
        min-height: 160px;
        padding-top: 14px;
        resize: vertical;
        line-height: 1.7;
    }
body.portal-page-service-request .iusr-input:focus,
body.portal-page-service-request .iusr-select:focus,
body.portal-page-service-request .iusr-textarea:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-service-request .iusr-submit{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-service-request .iusr-note{
        margin-top: 15px;
        border: 1px solid #bfdbfe;
        border-radius: 20px;
        background: #eff6ff;
        color: #0b2d73;
        padding: 14px;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-service-request .iusr-card{
        border-radius: 22px;
        padding: 16px;
        background: #f8fafc;
        box-shadow: none;
    }
body.portal-page-service-request .iusr-card + .iusr-card{
        margin-top: 12px;
    }
body.portal-page-service-request .iusr-card strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 800;
    }
body.portal-page-service-request .iusr-card b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.55;
        font-weight: 600;
    }
@media (max-width: 980px){body.portal-page-service-request .iusr-hero-grid,
body.portal-page-service-request .iusr-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-service-request .iusr{
            gap: 16px;
        }
body.portal-page-service-request .iusr-hero,
body.portal-page-service-request .iusr-panel{
            border-radius: 22px;
        }
body.portal-page-service-request .iusr-hero-main,
body.portal-page-service-request .iusr-side,
body.portal-page-service-request .iusr-panel{
            padding: 18px;
        }
body.portal-page-service-request .iusr-title{
            font-size: 30px;
        }
body.portal-page-service-request .iusr-row{
            grid-template-columns: 1fr;
        }
body.portal-page-service-request .iusr-actions{
            display: grid;
        }}

/* Scoped module: service-view.php (1) */
body.portal-page-service-view .iusv{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-service-view .iusv *{
        box-sizing: border-box;
    }
body.portal-page-service-view .iusv a{
        text-decoration: none;
    }
body.portal-page-service-view .iusv-hero,
body.portal-page-service-view .iusv-panel,
body.portal-page-service-view .iusv-card{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-service-view .iusv-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-service-view .iusv-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-service-view .iusv-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-service-view .iusv-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-service-view .iusv-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-service-view .iusv-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-service-view .iusv-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-service-view .iusv-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-service-view .iusv-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-service-view .iusv-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-service-view .iusv-status-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-service-view .iusv-status-card b{
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-service-view .iusv-status-card strong{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 22px;
        line-height: 1.2;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 7px 10px;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-service-view .iusv-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-service-view .iusv-badge.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-service-view .iusv-badge.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-service-view .iusv-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-service-view .iusv-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-service-view .iusv-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-service-view .iusv-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-service-view .iusv-alert i{
        font-size: 22px;
        flex: 0 0 auto;
    }
body.portal-page-service-view .iusv-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-service-view .iusv-alert li,
body.portal-page-service-view .iusv-alert b{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-service-view .iusv-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-service-view .iusv-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-service-view .iusv-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-service-view .iusv-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-service-view .iusv-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-service-view .iusv-summary{
        margin-top: 18px;
        border: 1px solid #e2e8f0;
        border-radius: 22px;
        background: #f8fafc;
        padding: 18px;
        color: #334155;
        font-size: 14px;
        line-height: 1.8;
        font-weight: 650;
        white-space: pre-wrap;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-info-grid{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-service-view .iusv-info{
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 15px;
    }
body.portal-page-service-view .iusv-info b{
        display: block;
        color: #64748b;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
body.portal-page-service-view .iusv-info strong{
        display: block;
        margin-top: 6px;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 850;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-card{
        border-radius: 20px;
        padding: 15px;
        background: #f8fafc;
        box-shadow: none;
    }
body.portal-page-service-view .iusv-card + .iusv-card{
        margin-top: 12px;
    }
body.portal-page-service-view .iusv-card strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 850;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-card b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.55;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-service-view .iusv-link{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        border-radius: 999px;
        background: #075fc7;
        color: #fff;
        padding: 0 16px;
        font-size: 13px;
        font-weight: 850;
        margin-top: 14px;
    }
body.portal-page-service-view .iusv-link.secondary{
        border: 1px solid #bfdbfe;
        background: #fff;
        color: #075fc7;
    }
body.portal-page-service-view .iusv-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 22px;
        background: #f8fafc;
        padding: 26px 16px;
        text-align: center;
        color: #64748b;
        font-weight: 700;
    }
@media (max-width: 980px){body.portal-page-service-view .iusv-hero-grid,
body.portal-page-service-view .iusv-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-service-view .iusv{
            gap: 16px;
        }
body.portal-page-service-view .iusv-hero,
body.portal-page-service-view .iusv-panel{
            border-radius: 22px;
        }
body.portal-page-service-view .iusv-hero-main,
body.portal-page-service-view .iusv-side,
body.portal-page-service-view .iusv-panel{
            padding: 18px;
        }
body.portal-page-service-view .iusv-title{
            font-size: 30px;
        }
body.portal-page-service-view .iusv-info-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-service-view .iusv-actions{
            display: grid;
        }
body.portal-page-service-view .iusv-button,
body.portal-page-service-view .iusv-link{
            width: 100%;
        }}

/* Scoped module: services.php (1) */
body.portal-page-services .iusl{display:grid;gap:22px;max-width:1180px;margin:0 auto;font-family:Manrope,"Plus Jakarta Sans",system-ui,sans-serif}
body.portal-page-services .iusl *{box-sizing:border-box}
body.portal-page-services .iusl a{text-decoration:none}
body.portal-page-services .iusl-hero,
body.portal-page-services .iusl-panel,
body.portal-page-services .iusl-stat,
body.portal-page-services .iusl-card{border:1px solid #e2e8f0;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08)}
body.portal-page-services .iusl-hero{overflow:hidden;border-radius:30px}
body.portal-page-services .iusl-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
body.portal-page-services .iusl-hero-main{padding:34px;color:#fff;background:radial-gradient(circle at 0 0,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#020617 0%,#0b2d73 54%,#075fc7 100%)}
body.portal-page-services .iusl-side{display:grid;align-content:center;gap:14px;background:#f8fafc;padding:28px}
body.portal-page-services .iusl-pill-row{display:flex;flex-wrap:wrap;gap:8px}
body.portal-page-services .iusl-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.10);color:rgba(255,255,255,.86);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)}
body.portal-page-services .iusl-title{max-width:760px;margin:20px 0 12px;color:#fff;font-size:clamp(30px,5vw,50px);line-height:1.02;letter-spacing:-.055em;font-weight:800}
body.portal-page-services .iusl-copy{max-width:700px;margin:0;color:rgba(219,234,254,.88);font-size:15px;line-height:1.75;font-weight:600}
body.portal-page-services .iusl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
body.portal-page-services .iusl-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:999px;background:#fff;color:#075fc7;padding:0 18px;font-size:14px;font-weight:800;box-shadow:0 16px 38px rgba(2,6,23,.16)}
body.portal-page-services .iusl-button.secondary{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;box-shadow:none}
body.portal-page-services .iusl-snapshot{border:1px solid #e2e8f0;border-radius:24px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
body.portal-page-services .iusl-label{margin:0;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.portal-page-services .iusl-big{display:block;margin-top:8px;color:#0f172a;font-size:32px;line-height:1;font-weight:800;letter-spacing:-.04em;word-break:break-word}
body.portal-page-services .iusl-muted{margin:10px 0 0;color:#64748b;font-size:14px;line-height:1.6;font-weight:600}
body.portal-page-services .iusl-alert{display:flex;gap:12px;border-radius:22px;padding:16px;box-shadow:0 12px 34px rgba(15,23,42,.08)}
body.portal-page-services .iusl-alert.error{border:1px solid #fecdd3;background:#fff1f2;color:#be123c}
body.portal-page-services .iusl-alert.success{border:1px solid #bbf7d0;background:#ecfdf5;color:#047857}
body.portal-page-services .iusl-alert strong{display:block;font-size:15px;font-weight:800}
body.portal-page-services .iusl-alert li,
body.portal-page-services .iusl-alert b{font-size:13px;line-height:1.6;font-weight:650}
body.portal-page-services .iusl-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
body.portal-page-services .iusl-stat{border-radius:24px;padding:18px}
body.portal-page-services .iusl-stat-value{display:block;margin-top:10px;color:#0f172a;font-size:30px;line-height:1;font-weight:800}
body.portal-page-services .iusl-panel{border-radius:28px;padding:22px}
body.portal-page-services .iusl-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
body.portal-page-services .iusl-section-title{margin:6px 0 0;color:#0f172a;font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.035em}
body.portal-page-services .iusl-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.portal-page-services .iusl-search,
body.portal-page-services .iusl-filter{height:46px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc;outline:none;color:#0f172a;padding:0 14px;font-size:14px;font-weight:700}
body.portal-page-services .iusl-search{width:280px;max-width:100%}
body.portal-page-services .iusl-filter{width:170px}
body.portal-page-services .iusl-list{display:grid;gap:14px}
body.portal-page-services .iusl-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-radius:24px;padding:18px;background:#f8fafc;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body.portal-page-services .iusl-card:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.08)}
body.portal-page-services .iusl-card-title{display:block;color:#0f172a;font-size:18px;line-height:1.3;font-weight:850;word-break:break-word}
body.portal-page-services .iusl-card-text{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.65;font-weight:650;word-break:break-word}
body.portal-page-services .iusl-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
body.portal-page-services .iusl-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:#f1f5f9;color:#475569}
body.portal-page-services .iusl-badge.ok{background:#ecfdf5;color:#047857}
body.portal-page-services .iusl-badge.bad{background:#fff1f2;color:#be123c}
body.portal-page-services .iusl-badge.info{background:#eff6ff;color:#1d4ed8}
body.portal-page-services .iusl-badge.warn{background:#fffbeb;color:#b45309}
body.portal-page-services .iusl-card-side{display:grid;align-content:space-between;justify-items:end;gap:12px;min-width:190px;text-align:right}
body.portal-page-services .iusl-date{color:#64748b;font-size:12px;line-height:1.5;font-weight:700}
body.portal-page-services .iusl-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:999px;background:#075fc7;color:#fff;padding:0 14px;font-size:12px;font-weight:850;white-space:nowrap}
body.portal-page-services .iusl-link.secondary{border:1px solid #bfdbfe;background:#fff;color:#075fc7}
body.portal-page-services .iusl-empty{border:1px dashed #cbd5e1;border-radius:24px;background:#f8fafc;padding:34px 18px;text-align:center}
body.portal-page-services .iusl-empty strong{display:block;color:#0f172a;font-size:18px;font-weight:800}
body.portal-page-services .iusl-empty b{display:block;margin-top:6px;color:#64748b;font-size:14px;font-weight:600}
body.portal-page-services .iusl-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:#075fc7;color:#fff;padding:0 18px;font-size:14px;font-weight:850;margin-top:16px}
@media (max-width:1120px){body.portal-page-services .iusl-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){body.portal-page-services .iusl-hero-grid{grid-template-columns:1fr}
body.portal-page-services .iusl-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.portal-page-services .iusl-card{grid-template-columns:1fr}
body.portal-page-services .iusl-card-side{justify-items:start;text-align:left;min-width:0}}
@media (max-width:640px){body.portal-page-services .iusl{gap:16px}
body.portal-page-services .iusl-hero,
body.portal-page-services .iusl-panel{border-radius:22px}
body.portal-page-services .iusl-hero-main,
body.portal-page-services .iusl-side,
body.portal-page-services .iusl-panel{padding:18px}
body.portal-page-services .iusl-title{font-size:30px}
body.portal-page-services .iusl-stat-grid{grid-template-columns:1fr}
body.portal-page-services .iusl-tools,
body.portal-page-services .iusl-actions{display:grid;width:100%}
body.portal-page-services .iusl-search,
body.portal-page-services .iusl-filter,
body.portal-page-services .iusl-button,
body.portal-page-services .iusl-link{width:100%}}

/* Scoped module: settings.php (1) */
body.portal-page-settings .iuset{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-settings .iuset *{
        box-sizing: border-box;
    }
body.portal-page-settings .iuset a{
        text-decoration: none;
    }
body.portal-page-settings .iuset-hero,
body.portal-page-settings .iuset-panel,
body.portal-page-settings .iuset-card{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-settings .iuset-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-settings .iuset-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.24fr) minmax(300px, .76fr);
    }
body.portal-page-settings .iuset-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-settings .iuset-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-settings .iuset-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-settings .iuset-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-settings .iuset-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-settings .iuset-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-settings .iuset-account{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-settings .iuset-avatar{
        display: grid;
        place-items: center;
        width: 62px;
        height: 62px;
        border-radius: 22px;
        background: #eff6ff;
        color: #075fc7;
        font-size: 24px;
        font-weight: 900;
        margin-bottom: 14px;
        text-transform: uppercase;
    }
body.portal-page-settings .iuset-account strong{
        display: block;
        color: #0f172a;
        font-size: 19px;
        line-height: 1.3;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-settings .iuset-account b{
        display: block;
        margin-top: 6px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-settings .iuset-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-settings .iuset-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-settings .iuset-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-settings .iuset-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-settings .iuset-alert li,
body.portal-page-settings .iuset-alert b{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-settings .iuset-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-settings .iuset-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-settings .iuset-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-settings .iuset-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-settings .iuset-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-settings .iuset-form{
        display: grid;
        gap: 16px;
        margin-top: 18px;
    }
body.portal-page-settings .iuset-row{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-settings .iuset-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-settings .iuset-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-settings .iuset-input,
body.portal-page-settings .iuset-select{
        width: 100%;
        min-height: 54px;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 0 15px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-settings .iuset-input:focus,
body.portal-page-settings .iuset-select:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-settings .iuset-switches{
        display: grid;
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-settings .iuset-switch{
        display: flex;
        align-items: flex-start;
        gap: 12px;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        background: #f8fafc;
        padding: 14px;
    }
body.portal-page-settings .iuset-switch input{
        width: 20px;
        height: 20px;
        margin-top: 2px;
        accent-color: #075fc7;
        flex: 0 0 auto;
    }
body.portal-page-settings .iuset-switch strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 850;
    }
body.portal-page-settings .iuset-switch b{
        display: block;
        margin-top: 4px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.5;
        font-weight: 650;
    }
body.portal-page-settings .iuset-submit{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-settings .iuset-card{
        border-radius: 22px;
        padding: 16px;
        background: #f8fafc;
        box-shadow: none;
    }
body.portal-page-settings .iuset-card + .iuset-card{
        margin-top: 12px;
    }
body.portal-page-settings .iuset-card strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 850;
    }
body.portal-page-settings .iuset-card b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.55;
        font-weight: 650;
    }
body.portal-page-settings .iuset-card a{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        border-radius: 999px;
        background: #075fc7;
        color: #fff;
        padding: 0 14px;
        margin-top: 12px;
        font-size: 12px;
        font-weight: 850;
    }
@media (max-width: 980px){body.portal-page-settings .iuset-hero-grid,
body.portal-page-settings .iuset-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-settings .iuset{
            gap: 16px;
        }
body.portal-page-settings .iuset-hero,
body.portal-page-settings .iuset-panel{
            border-radius: 22px;
        }
body.portal-page-settings .iuset-hero-main,
body.portal-page-settings .iuset-side,
body.portal-page-settings .iuset-panel{
            padding: 18px;
        }
body.portal-page-settings .iuset-title{
            font-size: 30px;
        }
body.portal-page-settings .iuset-row{
            grid-template-columns: 1fr;
        }
body.portal-page-settings .iuset-submit{
            width: 100%;
        }}

/* Scoped module: support-view.php (1) */
body.portal-page-support-view .iuspv{
        display: grid;
        gap: 22px;
        max-width: 1120px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-support-view .iuspv *{
        box-sizing: border-box;
    }
body.portal-page-support-view .iuspv a{
        text-decoration: none;
    }
body.portal-page-support-view .iuspv-hero,
body.portal-page-support-view .iuspv-panel,
body.portal-page-support-view .iuspv-card,
body.portal-page-support-view .iuspv-message{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-support-view .iuspv-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-support-view .iuspv-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-support-view .iuspv-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-support-view .iuspv-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-support-view .iuspv-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-support-view .iuspv-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-support-view .iuspv-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-support-view .iuspv-actions{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 26px;
    }
body.portal-page-support-view .iuspv-button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 48px;
        border-radius: 999px;
        background: #fff;
        color: #075fc7;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 16px 38px rgba(2, 6, 23, .16);
    }
body.portal-page-support-view .iuspv-button.secondary{
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.10);
        color: #fff;
        box-shadow: none;
    }
body.portal-page-support-view .iuspv-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-support-view .iuspv-status-card{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-support-view .iuspv-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-support-view .iuspv-status-card strong{
        display: block;
        margin-top: 8px;
        color: #0f172a;
        font-size: 20px;
        line-height: 1.3;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-support-view .iuspv-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 7px 10px;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-support-view .iuspv-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-support-view .iuspv-badge.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-support-view .iuspv-badge.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-support-view .iuspv-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-support-view .iuspv-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-support-view .iuspv-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-support-view .iuspv-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-support-view .iuspv-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-support-view .iuspv-alert li,
body.portal-page-support-view .iuspv-alert b{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-support-view .iuspv-grid{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-support-view .iuspv-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-support-view .iuspv-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-support-view .iuspv-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-support-view .iuspv-message-list{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-support-view .iuspv-message{
        border-radius: 24px;
        padding: 16px;
        box-shadow: none;
    }
body.portal-page-support-view .iuspv-message.is-admin{
        border-color: #bfdbfe;
        background: #eff6ff;
    }
body.portal-page-support-view .iuspv-message.is-user{
        border-color: #e2e8f0;
        background: #f8fafc;
    }
body.portal-page-support-view .iuspv-message-head{
        display: flex;
        justify-content: space-between;
        gap: 12px;
        align-items: flex-start;
    }
body.portal-page-support-view .iuspv-message strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 850;
    }
body.portal-page-support-view .iuspv-message time{
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }
body.portal-page-support-view .iuspv-message-body{
        margin: 10px 0 0;
        color: #334155;
        font-size: 14px;
        line-height: 1.75;
        font-weight: 650;
        white-space: pre-wrap;
        word-break: break-word;
    }
body.portal-page-support-view .iuspv-reply-form{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-support-view .iuspv-textarea{
        width: 100%;
        min-height: 140px;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 14px;
        font-size: 14px;
        line-height: 1.7;
        font-weight: 650;
        resize: vertical;
    }
body.portal-page-support-view .iuspv-textarea:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-support-view .iuspv-submit{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-support-view .iuspv-info-grid{
        display: grid;
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-support-view .iuspv-card{
        border-radius: 20px;
        padding: 15px;
        background: #f8fafc;
        box-shadow: none;
    }
body.portal-page-support-view .iuspv-card strong{
        display: block;
        color: #0f172a;
        font-size: 14px;
        font-weight: 850;
        word-break: break-word;
    }
body.portal-page-support-view .iuspv-card b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.55;
        font-weight: 650;
        word-break: break-word;
    }
body.portal-page-support-view .iuspv-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 22px;
        background: #f8fafc;
        padding: 26px 16px;
        text-align: center;
        color: #64748b;
        font-weight: 700;
        margin-top: 18px;
    }
@media (max-width: 980px){body.portal-page-support-view .iuspv-hero-grid,
body.portal-page-support-view .iuspv-grid{
            grid-template-columns: 1fr;
        }}
@media (max-width: 640px){body.portal-page-support-view .iuspv{
            gap: 16px;
        }
body.portal-page-support-view .iuspv-hero,
body.portal-page-support-view .iuspv-panel{
            border-radius: 22px;
        }
body.portal-page-support-view .iuspv-hero-main,
body.portal-page-support-view .iuspv-side,
body.portal-page-support-view .iuspv-panel{
            padding: 18px;
        }
body.portal-page-support-view .iuspv-title{
            font-size: 30px;
        }
body.portal-page-support-view .iuspv-actions{
            display: grid;
        }
body.portal-page-support-view .iuspv-button,
body.portal-page-support-view .iuspv-submit{
            width: 100%;
        }
body.portal-page-support-view .iuspv-message-head{
            display: grid;
        }
body.portal-page-support-view .iuspv-message time{
            white-space: normal;
        }}

/* Scoped module: support.php (1) */
body.portal-page-support .iusup{
        display: grid;
        gap: 22px;
        max-width: 1180px;
        margin: 0 auto;
        font-family: Manrope, "Plus Jakarta Sans", system-ui, sans-serif;
    }
body.portal-page-support .iusup *{
        box-sizing: border-box;
    }
body.portal-page-support .iusup a{
        text-decoration: none;
    }
body.portal-page-support .iusup-hero,
body.portal-page-support .iusup-panel,
body.portal-page-support .iusup-stat,
body.portal-page-support .iusup-ticket{
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    }
body.portal-page-support .iusup-hero{
        overflow: hidden;
        border-radius: 30px;
    }
body.portal-page-support .iusup-hero-grid{
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    }
body.portal-page-support .iusup-hero-main{
        padding: 34px;
        color: #fff;
        background:
            radial-gradient(circle at 0 0, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(135deg, #020617 0%, #0b2d73 54%, #075fc7 100%);
    }
body.portal-page-support .iusup-pill-row{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
body.portal-page-support .iusup-pill{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 999px;
        padding: 8px 11px;
        background: rgba(255,255,255,.10);
        color: rgba(255,255,255,.86);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        border: 1px solid rgba(255,255,255,.14);
    }
body.portal-page-support .iusup-title{
        max-width: 760px;
        margin: 20px 0 12px;
        color: #fff;
        font-size: clamp(30px, 5vw, 50px);
        line-height: 1.02;
        letter-spacing: -.055em;
        font-weight: 800;
    }
body.portal-page-support .iusup-copy{
        max-width: 700px;
        margin: 0;
        color: rgba(219, 234, 254, .88);
        font-size: 15px;
        line-height: 1.75;
        font-weight: 600;
    }
body.portal-page-support .iusup-side{
        display: grid;
        align-content: center;
        background: #f8fafc;
        padding: 28px;
    }
body.portal-page-support .iusup-account{
        border: 1px solid #e2e8f0;
        border-radius: 26px;
        background: #fff;
        padding: 22px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    }
body.portal-page-support .iusup-account strong{
        display: block;
        color: #0f172a;
        font-size: 20px;
        line-height: 1.3;
        font-weight: 800;
        word-break: break-word;
    }
body.portal-page-support .iusup-account b{
        display: block;
        margin-top: 7px;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-support .iusup-alert{
        display: flex;
        gap: 12px;
        border-radius: 22px;
        padding: 16px;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-support .iusup-alert.error{
        border: 1px solid #fecdd3;
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-support .iusup-alert.success{
        border: 1px solid #bbf7d0;
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-support .iusup-alert strong{
        display: block;
        font-size: 15px;
        font-weight: 800;
    }
body.portal-page-support .iusup-alert li,
body.portal-page-support .iusup-alert b{
        font-size: 13px;
        line-height: 1.6;
        font-weight: 650;
    }
body.portal-page-support .iusup-stat-grid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
body.portal-page-support .iusup-stat{
        border-radius: 24px;
        padding: 18px;
    }
body.portal-page-support .iusup-label{
        margin: 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
body.portal-page-support .iusup-stat strong{
        display: block;
        margin-top: 10px;
        color: #0f172a;
        font-size: 30px;
        line-height: 1;
        font-weight: 800;
    }
body.portal-page-support .iusup-grid{
        display: grid;
        grid-template-columns: minmax(0, .92fr) minmax(360px, 1fr);
        gap: 18px;
        align-items: start;
    }
body.portal-page-support .iusup-panel{
        border-radius: 28px;
        padding: 22px;
    }
body.portal-page-support .iusup-section-title{
        margin: 6px 0 0;
        color: #0f172a;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.035em;
    }
body.portal-page-support .iusup-muted{
        margin: 10px 0 0;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 600;
    }
body.portal-page-support .iusup-form{
        display: grid;
        gap: 14px;
        margin-top: 18px;
    }
body.portal-page-support .iusup-row{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
body.portal-page-support .iusup-field{
        display: grid;
        gap: 7px;
    }
body.portal-page-support .iusup-field label{
        color: #334155;
        font-size: 13px;
        font-weight: 800;
    }
body.portal-page-support .iusup-input,
body.portal-page-support .iusup-select,
body.portal-page-support .iusup-textarea{
        width: 100%;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        outline: none;
        background: #f8fafc;
        color: #0f172a;
        padding: 0 15px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-support .iusup-input,
body.portal-page-support .iusup-select{
        min-height: 54px;
    }
body.portal-page-support .iusup-textarea{
        min-height: 160px;
        padding-top: 14px;
        line-height: 1.7;
        resize: vertical;
    }
body.portal-page-support .iusup-input:focus,
body.portal-page-support .iusup-select:focus,
body.portal-page-support .iusup-textarea:focus{
        border-color: #60a5fa;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
body.portal-page-support .iusup-submit{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #075fc7, #0b76ef);
        color: #fff;
        cursor: pointer;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(7, 95, 199, .18);
    }
body.portal-page-support .iusup-tools{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 18px;
    }
body.portal-page-support .iusup-search,
body.portal-page-support .iusup-filter{
        height: 46px;
        border: 1px solid #e2e8f0;
        border-radius: 17px;
        background: #f8fafc;
        outline: none;
        color: #0f172a;
        padding: 0 14px;
        font-size: 14px;
        font-weight: 700;
    }
body.portal-page-support .iusup-search{
        flex: 1 1 230px;
    }
body.portal-page-support .iusup-filter{
        flex: 0 0 170px;
    }
body.portal-page-support .iusup-ticket-list{
        display: grid;
        gap: 12px;
        margin-top: 18px;
    }
body.portal-page-support .iusup-ticket{
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        align-items: center;
        border-radius: 22px;
        padding: 16px;
        background: #f8fafc;
        box-shadow: none;
        transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    }
body.portal-page-support .iusup-ticket:hover{
        background: #fff;
        transform: translateY(-2px);
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }
body.portal-page-support .iusup-ticket strong{
        display: block;
        color: #0f172a;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 850;
        word-break: break-word;
    }
body.portal-page-support .iusup-ticket b{
        display: block;
        margin-top: 5px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.5;
        font-weight: 650;
    }
body.portal-page-support .iusup-badge{
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 7px 10px;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
body.portal-page-support .iusup-badge.is-green{
        background: #ecfdf5;
        color: #047857;
    }
body.portal-page-support .iusup-badge.is-red{
        background: #fff1f2;
        color: #be123c;
    }
body.portal-page-support .iusup-badge.is-blue{
        background: #eff6ff;
        color: #1d4ed8;
    }
body.portal-page-support .iusup-badge.is-amber{
        background: #fffbeb;
        color: #b45309;
    }
body.portal-page-support .iusup-empty{
        border: 1px dashed #cbd5e1;
        border-radius: 22px;
        background: #f8fafc;
        padding: 28px 16px;
        text-align: center;
        color: #64748b;
        font-weight: 700;
        margin-top: 18px;
    }
body.portal-page-support .iusup-view{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        border-radius: 999px;
        background: #075fc7;
        color: #fff;
        padding: 0 14px;
        font-size: 12px;
        font-weight: 850;
        white-space: nowrap;
    }
@media (max-width: 980px){body.portal-page-support .iusup-hero-grid,
body.portal-page-support .iusup-grid{
            grid-template-columns: 1fr;
        }
body.portal-page-support .iusup-stat-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
@media (max-width: 640px){body.portal-page-support .iusup{
            gap: 16px;
        }
body.portal-page-support .iusup-hero,
body.portal-page-support .iusup-panel{
            border-radius: 22px;
        }
body.portal-page-support .iusup-hero-main,
body.portal-page-support .iusup-side,
body.portal-page-support .iusup-panel{
            padding: 18px;
        }
body.portal-page-support .iusup-title{
            font-size: 30px;
        }
body.portal-page-support .iusup-row,
body.portal-page-support .iusup-stat-grid,
body.portal-page-support .iusup-ticket{
            grid-template-columns: 1fr;
        }
body.portal-page-support .iusup-tools{
            display: grid;
        }
body.portal-page-support .iusup-search,
body.portal-page-support .iusup-filter,
body.portal-page-support .iusup-submit,
body.portal-page-support .iusup-view{
            width: 100%;
        }}

/* Shared component polish */
/* IRISE ICT Client Portal — precompiled Tailwind-inspired design layer. */
:root{--tw-brand:#075fc7;--tw-brand-2:#0b76ef;--tw-navy:#07111f;--tw-red:#d70f35;--tw-surface:#fff;--tw-soft:#f5f8fd;--tw-border:#dce5f0;--tw-text:#0f172a;--tw-muted:#64748b;--tw-shadow:0 22px 65px rgba(15,23,42,.10);--tw-shadow-lg:0 34px 90px rgba(2,6,23,.16)}
html{background:#eef4fb}body{background:radial-gradient(circle at 5% 0,rgba(7,95,199,.13),transparent 28%),radial-gradient(circle at 100% 0,rgba(215,15,53,.08),transparent 24%),linear-gradient(180deg,#fbfdff 0,#f4f8fc 52%,#edf3fa 100%)!important;color:var(--tw-text)}
.iup-auth-page{min-height:100vh}.iup-auth-page main,.iup-auth-page .status-wrap{isolation:isolate}.iup-auth-page:before,.iup-auth-page:after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:999px;filter:blur(2px)}.iup-auth-page:before{width:340px;height:340px;left:-140px;top:-120px;background:radial-gradient(circle,rgba(7,95,199,.18),transparent 68%)}.iup-auth-page:after{width:300px;height:300px;right:-120px;bottom:-120px;background:radial-gradient(circle,rgba(215,15,53,.12),transparent 68%)}
/* Shared page shell */
.iulx-main{background:transparent!important}.iulx-page-head{border:1px solid rgba(220,229,240,.9)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(20px);box-shadow:0 18px 55px rgba(15,23,42,.07)!important}.iulx-content{max-width:1480px;margin-inline:auto}
/* Tailwind-style component polish for all module pages */
[class*="-hero"],[class$="hero"]{box-shadow:var(--tw-shadow-lg)}
[class*="-panel"],[class*="-card"],.tw-bg-white{border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow)}
.tw-rounded-3xl{border-radius:1.5rem!important}.tw-rounded-2xl{border-radius:1.125rem!important}
.tw-bg-white{background:rgba(255,255,255,.96)!important}.tw-bg-blue-50{background:linear-gradient(135deg,#eff6ff,#f8fbff)!important}.tw-bg-emerald-50{background:linear-gradient(135deg,#ecfdf5,#f7fffb)!important}.tw-bg-rose-50{background:linear-gradient(135deg,#fff1f2,#fffafb)!important}.tw-bg-amber-50{background:linear-gradient(135deg,#fffbeb,#fffdf6)!important}
.tw-shadow-xl{box-shadow:var(--tw-shadow)!important}
/* Tables */
table{border-collapse:separate;border-spacing:0;width:100%}thead th{background:#f6f9fd;color:#475569;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;font-weight:900}th,td{vertical-align:middle}tbody tr{transition:background .18s ease,transform .18s ease}tbody tr:hover{background:#f8fbff}table th:first-child{border-top-left-radius:14px}table th:last-child{border-top-right-radius:14px}
/* Forms */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#0f172a!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{outline:none!important;border-color:#60a5fa!important;background:#fff!important;box-shadow:0 0 0 4px rgba(59,130,246,.12)!important}textarea{resize:vertical}label{color:#334155}
button[type=submit],.tw-bg-blue-700,.iup-primary-action{background:linear-gradient(135deg,var(--tw-brand),var(--tw-brand-2))!important;box-shadow:0 14px 34px rgba(7,95,199,.22)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}button[type=submit]:hover,.tw-bg-blue-700:hover,.iup-primary-action:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(7,95,199,.28)!important;filter:saturate(1.06)}button[disabled]{opacity:.64;cursor:not-allowed;transform:none!important}
/* Module-specific legacy classes */
.iudx-card,.iudx-panel,.iuact-panel,.iupay-panel,.iuprof-panel,.iuset-panel,.iusvc-panel,.iusup-panel,.iudoc-panel,.iubill-panel,.iurec-panel,.iumsg-panel,.iunot-panel{background:rgba(255,255,255,.96)!important;border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow)!important}
.iudx-hero,.iuact-hero,.iupay-hero,.iuprof-hero,.iuset-hero,.iusvc-hero,.iusup-hero,.iudoc-hero,.iubill-hero,.iurec-hero,.iumsg-hero,.iunot-hero,.iusec-hero{background:radial-gradient(circle at 0 0,rgba(255,255,255,.15),transparent 28%),linear-gradient(135deg,#07111f 0,#0b2d73 52%,#075fc7 100%)!important;border-color:rgba(255,255,255,.10)!important}
/* Auth cards */
.login-shell,.register-shell,.forgot-shell,.reset-shell,.status-shell,.pending-shell{border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow-lg)!important}.login-hero,.register-hero,.forgot-hero,.reset-hero,.status-hero,.pending-hero{background:radial-gradient(circle at 8% 7%,rgba(255,255,255,.18),transparent 28%),linear-gradient(145deg,#06111f 0,#0b2d73 53%,#075fc7 100%)!important}.login-form-panel,.register-form-panel,.forgot-form-panel,.reset-form-panel,.status-form-panel,.pending-panel{background:radial-gradient(circle at 100% 0,rgba(7,95,199,.08),transparent 28%),#fff!important}
/* Empty states and alerts */
[class*="empty"]{border-style:dashed!important;background:linear-gradient(135deg,#f8fafc,#fff)!important}.iup-toast{position:fixed;right:20px;bottom:20px;z-index:9999;max-width:min(420px,calc(100vw - 40px));border:1px solid #bfdbfe;border-radius:18px;background:#fff;color:#0f172a;padding:14px 16px;box-shadow:0 24px 65px rgba(15,23,42,.20);font-size:13px;font-weight:750;transform:translateY(18px);opacity:0;transition:.22s}.iup-toast.is-visible{transform:none;opacity:1}
/* Responsive */
@media(max-width:767px){.iulx-content{padding-inline:12px!important}.iulx-page-head{border-radius:22px!important}.tw-p-8{padding:1.25rem!important}.tw-p-6{padding:1.1rem!important}table{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Emergency renderer controls used when the main layout cannot be loaded. */
.portal-button,
.iulx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: #075fc7;
    color: #fff;
    padding: 0 16px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}
.portal-button.secondary,
.iulx-btn.secondary {
    border: 1px solid #bfdbfe;
    background: #fff;
    color: #075fc7;
}

/* ==========================================================================
   Unified portal design system — final component and accessibility layer
   ========================================================================== */
:root {
    --portal-brand-50: #eff6ff;
    --portal-brand-100: #dbeafe;
    --portal-brand-200: #bfdbfe;
    --portal-brand-500: #0b76ef;
    --portal-brand-600: #075fc7;
    --portal-brand-700: #064da3;
    --portal-navy-950: #07111f;
    --portal-danger-50: #fff1f2;
    --portal-danger-600: #d70f35;
    --portal-success-50: #ecfdf5;
    --portal-success-700: #047857;
    --portal-warning-50: #fffbeb;
    --portal-warning-700: #b45309;
    --portal-surface: #ffffff;
    --portal-surface-muted: #f8fafc;
    --portal-page: #f3f7fc;
    --portal-border: #dce5f0;
    --portal-border-strong: #cbd5e1;
    --portal-text: #0f172a;
    --portal-muted: #64748b;
    --portal-radius-sm: 12px;
    --portal-radius-md: 18px;
    --portal-radius-lg: 24px;
    --portal-radius-xl: 32px;
    --portal-shadow-sm: 0 10px 30px rgba(15, 23, 42, .07);
    --portal-shadow: 0 22px 65px rgba(15, 23, 42, .10);
    --portal-shadow-lg: 0 34px 90px rgba(2, 6, 23, .16);
    --portal-focus: 0 0 0 4px rgba(11, 118, 239, .18);
    --portal-transition: 180ms ease;
    color-scheme: light;
}

html {
    min-width: 320px;
    min-height: 100%;
    background: var(--portal-page);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-width: 320px;
    min-height: 100vh;
    color: var(--portal-text);
    font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }
img, svg, video, canvas { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, [role="button"], a[href], input[type="checkbox"], input[type="radio"], select { touch-action: manipulation; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid rgba(11, 118, 239, .42) !important;
    outline-offset: 3px !important;
}

:where(input, select, textarea)[aria-invalid="true"] {
    border-color: #fb7185 !important;
    box-shadow: 0 0 0 4px rgba(244, 63, 94, .12) !important;
}

::selection { background: rgba(11, 118, 239, .20); color: #020617; }

/* Shared surfaces */
:where(
    [class$="-card"], [class*="-card "],
    [class$="-panel"], [class*="-panel "],
    [class$="-section"], [class*="-section "],
    .iup-card, .portal-card
) {
    border-color: var(--portal-border) !important;
}

:where([class$="-card"], [class*="-card "], .iup-card, .portal-card) {
    box-shadow: var(--portal-shadow-sm);
}

:where([class*="-hero"], [class$="-hero"]) {
    border-color: rgba(255, 255, 255, .10) !important;
}

/* Forms and controls */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), select, textarea) {
    min-height: 48px;
    border: 1px solid var(--portal-border-strong) !important;
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-muted) !important;
    color: var(--portal-text) !important;
    transition: border-color var(--portal-transition), box-shadow var(--portal-transition), background-color var(--portal-transition);
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), select, textarea):hover:not(:disabled) {
    border-color: #94a3b8 !important;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), select, textarea):focus {
    outline: none !important;
    border-color: var(--portal-brand-500) !important;
    background: var(--portal-surface) !important;
    box-shadow: var(--portal-focus) !important;
}

textarea { min-height: 120px; resize: vertical; }
select { cursor: pointer; }
input::placeholder, textarea::placeholder { color: #94a3b8; opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--portal-brand-600); }
input[type="file"] { max-width: 100%; }

:where(button, .portal-button, .iulx-btn, [class$="-button"], [class*="-button "]) {
    min-height: 44px;
}

:where(button[type="submit"], .iup-primary-action, .tw-bg-blue-700) {
    position: relative;
    overflow: hidden;
}

:where(button, input, select, textarea):disabled,
:where(button, input, select, textarea)[aria-disabled="true"] {
    cursor: not-allowed !important;
    opacity: .62 !important;
}

form[aria-busy="true"] { cursor: progress; }
button[aria-busy="true"], input[type="submit"][aria-busy="true"] { cursor: wait !important; }
button[aria-busy="true"]::before {
    content: "";
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    animation: portalSpin .72s linear infinite;
}
@keyframes portalSpin { to { transform: rotate(360deg); } }

/* Tables */
:where(.table-responsive, [class*="table-wrap"], [class*="table-shell"], .tw-overflow-x-auto) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

thead th {
    position: relative;
    background: #f4f7fb !important;
    color: #475569 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
}

tbody tr { transition: background-color var(--portal-transition); }
tbody tr:hover { background: #f8fbff; }
th, td { vertical-align: middle; }

/* Alerts, badges and empty states */
:where([class*="alert"], [role="alert"]) {
    border-radius: var(--portal-radius-md);
}

:where([class*="empty"], [class*="no-record"], [class*="no-data"]) {
    border-style: dashed !important;
    border-color: var(--portal-border-strong) !important;
    background: linear-gradient(135deg, #f8fafc, #ffffff) !important;
}

:where([class*="badge"], [class*="status"], [class*="chip"]) {
    max-width: 100%;
}

/* Notifications */
.iup-toast-region {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 9999;
    display: grid;
    width: min(420px, calc(100vw - 32px));
    gap: 10px;
    pointer-events: none;
}

.iup-toast {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    width: 100%;
    max-width: none !important;
    margin: 0;
    border: 1px solid var(--portal-brand-200);
    border-radius: var(--portal-radius-md);
    background: rgba(255, 255, 255, .98);
    color: var(--portal-text);
    padding: 14px 16px;
    box-shadow: var(--portal-shadow-lg);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
    transform: translateY(14px);
    opacity: 0;
    transition: transform 220ms ease, opacity 220ms ease;
    pointer-events: auto;
}
.iup-toast.is-visible { transform: translateY(0); opacity: 1; }
.iup-toast.is-success { border-color: #a7f3d0; background: #f0fdf4; color: #065f46; }
.iup-toast.is-error { border-color: #fecdd3; background: #fff1f2; color: #9f1239; }
.iup-toast.is-warning { border-color: #fde68a; background: #fffbeb; color: #92400e; }

/* Responsive behavior */
@media (max-width: 1023px) {
    .iulx-content { width: 100%; }
}

@media (max-width: 767px) {
    :where([class$="-shell"], [class*="-shell "]) { max-width: 100%; }
    :where([class$="-card"], [class*="-card "]) { border-radius: 20px; }
    :where([class*="-hero"], [class$="-hero"]) { border-radius: 22px; }
    :where(button, .portal-button, .iulx-btn, [class$="-button"], [class*="-button "]) { min-height: 46px; }
    table { font-size: .82rem; }
    th, td { padding-inline: 12px !important; }
}

@media (max-width: 479px) {
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { font-size: 16px !important; }
    .iup-toast-region { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100vw - 20px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media (prefers-contrast: more) {
    :where(input, select, textarea, button, [class$="-card"], [class*="-card "]) { border-color: #64748b !important; }
}

@media print {
    body { background: #fff !important; }
    .iulx-sidebar, .iulx-topbar, .iulx-mobile-bar, .iup-toast-region, button, [data-no-print] { display: none !important; }
    .iulx-main { margin: 0 !important; }
    .iulx-content { max-width: none !important; padding: 0 !important; }
    :where([class$="-card"], [class*="-card "]) { break-inside: avoid; box-shadow: none !important; }
}


/* CSP-safe replacements for former static inline declarations. */
.portal-text-brand { color: var(--portal-brand-600) !important; }
.portal-text-success { color: var(--portal-success-700) !important; }
.portal-text-muted { color: var(--portal-muted) !important; }
.portal-bg-brand { background: var(--portal-brand-600) !important; }
.portal-mt-12 { margin-top: 12px !important; }
.portal-mt-16 { margin-top: 16px !important; }
.portal-mt-18 { margin-top: 18px !important; }
.portal-list-errors { margin: 6px 0 0; padding-left: 18px; }
.portal-spacer-14 { height: 14px; }
.portal-inline-action { display: inline-flex !important; align-items: center; justify-content: center; text-decoration: none; }
.portal-inline-form { display: inline-flex; margin: 0; }
.portal-actions-end { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.iup-fallback-body { margin: 0; background: #f6f9fc; }
.iup-fallback-main { padding: 24px; }
.portal-width-0 { width: 0% !important; }
.portal-width-1 { width: 1% !important; }
.portal-width-2 { width: 2% !important; }
.portal-width-3 { width: 3% !important; }
.portal-width-4 { width: 4% !important; }
.portal-width-5 { width: 5% !important; }
.portal-width-6 { width: 6% !important; }
.portal-width-7 { width: 7% !important; }
.portal-width-8 { width: 8% !important; }
.portal-width-9 { width: 9% !important; }
.portal-width-10 { width: 10% !important; }
.portal-width-11 { width: 11% !important; }
.portal-width-12 { width: 12% !important; }
.portal-width-13 { width: 13% !important; }
.portal-width-14 { width: 14% !important; }
.portal-width-15 { width: 15% !important; }
.portal-width-16 { width: 16% !important; }
.portal-width-17 { width: 17% !important; }
.portal-width-18 { width: 18% !important; }
.portal-width-19 { width: 19% !important; }
.portal-width-20 { width: 20% !important; }
.portal-width-21 { width: 21% !important; }
.portal-width-22 { width: 22% !important; }
.portal-width-23 { width: 23% !important; }
.portal-width-24 { width: 24% !important; }
.portal-width-25 { width: 25% !important; }
.portal-width-26 { width: 26% !important; }
.portal-width-27 { width: 27% !important; }
.portal-width-28 { width: 28% !important; }
.portal-width-29 { width: 29% !important; }
.portal-width-30 { width: 30% !important; }
.portal-width-31 { width: 31% !important; }
.portal-width-32 { width: 32% !important; }
.portal-width-33 { width: 33% !important; }
.portal-width-34 { width: 34% !important; }
.portal-width-35 { width: 35% !important; }
.portal-width-36 { width: 36% !important; }
.portal-width-37 { width: 37% !important; }
.portal-width-38 { width: 38% !important; }
.portal-width-39 { width: 39% !important; }
.portal-width-40 { width: 40% !important; }
.portal-width-41 { width: 41% !important; }
.portal-width-42 { width: 42% !important; }
.portal-width-43 { width: 43% !important; }
.portal-width-44 { width: 44% !important; }
.portal-width-45 { width: 45% !important; }
.portal-width-46 { width: 46% !important; }
.portal-width-47 { width: 47% !important; }
.portal-width-48 { width: 48% !important; }
.portal-width-49 { width: 49% !important; }
.portal-width-50 { width: 50% !important; }
.portal-width-51 { width: 51% !important; }
.portal-width-52 { width: 52% !important; }
.portal-width-53 { width: 53% !important; }
.portal-width-54 { width: 54% !important; }
.portal-width-55 { width: 55% !important; }
.portal-width-56 { width: 56% !important; }
.portal-width-57 { width: 57% !important; }
.portal-width-58 { width: 58% !important; }
.portal-width-59 { width: 59% !important; }
.portal-width-60 { width: 60% !important; }
.portal-width-61 { width: 61% !important; }
.portal-width-62 { width: 62% !important; }
.portal-width-63 { width: 63% !important; }
.portal-width-64 { width: 64% !important; }
.portal-width-65 { width: 65% !important; }
.portal-width-66 { width: 66% !important; }
.portal-width-67 { width: 67% !important; }
.portal-width-68 { width: 68% !important; }
.portal-width-69 { width: 69% !important; }
.portal-width-70 { width: 70% !important; }
.portal-width-71 { width: 71% !important; }
.portal-width-72 { width: 72% !important; }
.portal-width-73 { width: 73% !important; }
.portal-width-74 { width: 74% !important; }
.portal-width-75 { width: 75% !important; }
.portal-width-76 { width: 76% !important; }
.portal-width-77 { width: 77% !important; }
.portal-width-78 { width: 78% !important; }
.portal-width-79 { width: 79% !important; }
.portal-width-80 { width: 80% !important; }
.portal-width-81 { width: 81% !important; }
.portal-width-82 { width: 82% !important; }
.portal-width-83 { width: 83% !important; }
.portal-width-84 { width: 84% !important; }
.portal-width-85 { width: 85% !important; }
.portal-width-86 { width: 86% !important; }
.portal-width-87 { width: 87% !important; }
.portal-width-88 { width: 88% !important; }
.portal-width-89 { width: 89% !important; }
.portal-width-90 { width: 90% !important; }
.portal-width-91 { width: 91% !important; }
.portal-width-92 { width: 92% !important; }
.portal-width-93 { width: 93% !important; }
.portal-width-94 { width: 94% !important; }
.portal-width-95 { width: 95% !important; }
.portal-width-96 { width: 96% !important; }
.portal-width-97 { width: 97% !important; }
.portal-width-98 { width: 98% !important; }
.portal-width-99 { width: 99% !important; }
.portal-width-100 { width: 100% !important; }
.portal-paid-0 { --paid: 0%; }
.portal-paid-1 { --paid: 1%; }
.portal-paid-2 { --paid: 2%; }
.portal-paid-3 { --paid: 3%; }
.portal-paid-4 { --paid: 4%; }
.portal-paid-5 { --paid: 5%; }
.portal-paid-6 { --paid: 6%; }
.portal-paid-7 { --paid: 7%; }
.portal-paid-8 { --paid: 8%; }
.portal-paid-9 { --paid: 9%; }
.portal-paid-10 { --paid: 10%; }
.portal-paid-11 { --paid: 11%; }
.portal-paid-12 { --paid: 12%; }
.portal-paid-13 { --paid: 13%; }
.portal-paid-14 { --paid: 14%; }
.portal-paid-15 { --paid: 15%; }
.portal-paid-16 { --paid: 16%; }
.portal-paid-17 { --paid: 17%; }
.portal-paid-18 { --paid: 18%; }
.portal-paid-19 { --paid: 19%; }
.portal-paid-20 { --paid: 20%; }
.portal-paid-21 { --paid: 21%; }
.portal-paid-22 { --paid: 22%; }
.portal-paid-23 { --paid: 23%; }
.portal-paid-24 { --paid: 24%; }
.portal-paid-25 { --paid: 25%; }
.portal-paid-26 { --paid: 26%; }
.portal-paid-27 { --paid: 27%; }
.portal-paid-28 { --paid: 28%; }
.portal-paid-29 { --paid: 29%; }
.portal-paid-30 { --paid: 30%; }
.portal-paid-31 { --paid: 31%; }
.portal-paid-32 { --paid: 32%; }
.portal-paid-33 { --paid: 33%; }
.portal-paid-34 { --paid: 34%; }
.portal-paid-35 { --paid: 35%; }
.portal-paid-36 { --paid: 36%; }
.portal-paid-37 { --paid: 37%; }
.portal-paid-38 { --paid: 38%; }
.portal-paid-39 { --paid: 39%; }
.portal-paid-40 { --paid: 40%; }
.portal-paid-41 { --paid: 41%; }
.portal-paid-42 { --paid: 42%; }
.portal-paid-43 { --paid: 43%; }
.portal-paid-44 { --paid: 44%; }
.portal-paid-45 { --paid: 45%; }
.portal-paid-46 { --paid: 46%; }
.portal-paid-47 { --paid: 47%; }
.portal-paid-48 { --paid: 48%; }
.portal-paid-49 { --paid: 49%; }
.portal-paid-50 { --paid: 50%; }
.portal-paid-51 { --paid: 51%; }
.portal-paid-52 { --paid: 52%; }
.portal-paid-53 { --paid: 53%; }
.portal-paid-54 { --paid: 54%; }
.portal-paid-55 { --paid: 55%; }
.portal-paid-56 { --paid: 56%; }
.portal-paid-57 { --paid: 57%; }
.portal-paid-58 { --paid: 58%; }
.portal-paid-59 { --paid: 59%; }
.portal-paid-60 { --paid: 60%; }
.portal-paid-61 { --paid: 61%; }
.portal-paid-62 { --paid: 62%; }
.portal-paid-63 { --paid: 63%; }
.portal-paid-64 { --paid: 64%; }
.portal-paid-65 { --paid: 65%; }
.portal-paid-66 { --paid: 66%; }
.portal-paid-67 { --paid: 67%; }
.portal-paid-68 { --paid: 68%; }
.portal-paid-69 { --paid: 69%; }
.portal-paid-70 { --paid: 70%; }
.portal-paid-71 { --paid: 71%; }
.portal-paid-72 { --paid: 72%; }
.portal-paid-73 { --paid: 73%; }
.portal-paid-74 { --paid: 74%; }
.portal-paid-75 { --paid: 75%; }
.portal-paid-76 { --paid: 76%; }
.portal-paid-77 { --paid: 77%; }
.portal-paid-78 { --paid: 78%; }
.portal-paid-79 { --paid: 79%; }
.portal-paid-80 { --paid: 80%; }
.portal-paid-81 { --paid: 81%; }
.portal-paid-82 { --paid: 82%; }
.portal-paid-83 { --paid: 83%; }
.portal-paid-84 { --paid: 84%; }
.portal-paid-85 { --paid: 85%; }
.portal-paid-86 { --paid: 86%; }
.portal-paid-87 { --paid: 87%; }
.portal-paid-88 { --paid: 88%; }
.portal-paid-89 { --paid: 89%; }
.portal-paid-90 { --paid: 90%; }
.portal-paid-91 { --paid: 91%; }
.portal-paid-92 { --paid: 92%; }
.portal-paid-93 { --paid: 93%; }
.portal-paid-94 { --paid: 94%; }
.portal-paid-95 { --paid: 95%; }
.portal-paid-96 { --paid: 96%; }
.portal-paid-97 { --paid: 97%; }
.portal-paid-98 { --paid: 98%; }
.portal-paid-99 { --paid: 99%; }
.portal-paid-100 { --paid: 100%; }

/* IRISE ICT Client Portal — precompiled Tailwind-inspired design layer. */
:root{--tw-brand:#075fc7;--tw-brand-2:#0b76ef;--tw-navy:#07111f;--tw-red:#d70f35;--tw-surface:#fff;--tw-soft:#f5f8fd;--tw-border:#dce5f0;--tw-text:#0f172a;--tw-muted:#64748b;--tw-shadow:0 22px 65px rgba(15,23,42,.10);--tw-shadow-lg:0 34px 90px rgba(2,6,23,.16)}
html{background:#eef4fb}body{background:radial-gradient(circle at 5% 0,rgba(7,95,199,.13),transparent 28%),radial-gradient(circle at 100% 0,rgba(215,15,53,.08),transparent 24%),linear-gradient(180deg,#fbfdff 0,#f4f8fc 52%,#edf3fa 100%)!important;color:var(--tw-text)}
.iup-auth-page{min-height:100vh}.iup-auth-page main,.iup-auth-page .status-wrap{isolation:isolate}.iup-auth-page:before,.iup-auth-page:after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:999px;filter:blur(2px)}.iup-auth-page:before{width:340px;height:340px;left:-140px;top:-120px;background:radial-gradient(circle,rgba(7,95,199,.18),transparent 68%)}.iup-auth-page:after{width:300px;height:300px;right:-120px;bottom:-120px;background:radial-gradient(circle,rgba(215,15,53,.12),transparent 68%)}
/* Shared page shell */
.iulx-main{background:transparent!important}.iulx-page-head{border:1px solid rgba(220,229,240,.9)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(20px);box-shadow:0 18px 55px rgba(15,23,42,.07)!important}.iulx-content{max-width:1480px;margin-inline:auto}
/* Tailwind-style component polish for all module pages */
[class*="-hero"],[class$="hero"]{box-shadow:var(--tw-shadow-lg)}
[class*="-panel"],[class*="-card"],.tw-bg-white{border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow)}
.tw-rounded-3xl{border-radius:1.5rem!important}.tw-rounded-2xl{border-radius:1.125rem!important}
.tw-bg-white{background:rgba(255,255,255,.96)!important}.tw-bg-blue-50{background:linear-gradient(135deg,#eff6ff,#f8fbff)!important}.tw-bg-emerald-50{background:linear-gradient(135deg,#ecfdf5,#f7fffb)!important}.tw-bg-rose-50{background:linear-gradient(135deg,#fff1f2,#fffafb)!important}.tw-bg-amber-50{background:linear-gradient(135deg,#fffbeb,#fffdf6)!important}
.tw-shadow-xl{box-shadow:var(--tw-shadow)!important}
/* Tables */
table{border-collapse:separate;border-spacing:0;width:100%}thead th{background:#f6f9fd;color:#475569;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;font-weight:900}th,td{vertical-align:middle}tbody tr{transition:background .18s ease,transform .18s ease}tbody tr:hover{background:#f8fbff}table th:first-child{border-top-left-radius:14px}table th:last-child{border-top-right-radius:14px}
/* Forms */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#0f172a!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{outline:none!important;border-color:#60a5fa!important;background:#fff!important;box-shadow:0 0 0 4px rgba(59,130,246,.12)!important}textarea{resize:vertical}label{color:#334155}
button[type=submit],.tw-bg-blue-700,.iup-primary-action{background:linear-gradient(135deg,var(--tw-brand),var(--tw-brand-2))!important;box-shadow:0 14px 34px rgba(7,95,199,.22)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}button[type=submit]:hover,.tw-bg-blue-700:hover,.iup-primary-action:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(7,95,199,.28)!important;filter:saturate(1.06)}button[disabled]{opacity:.64;cursor:not-allowed;transform:none!important}
/* Module-specific legacy classes */
.iudx-card,.iudx-panel,.iuact-panel,.iupay-panel,.iuprof-panel,.iuset-panel,.iusvc-panel,.iusup-panel,.iudoc-panel,.iubill-panel,.iurec-panel,.iumsg-panel,.iunot-panel{background:rgba(255,255,255,.96)!important;border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow)!important}
.iudx-hero,.iuact-hero,.iupay-hero,.iuprof-hero,.iuset-hero,.iusvc-hero,.iusup-hero,.iudoc-hero,.iubill-hero,.iurec-hero,.iumsg-hero,.iunot-hero,.iusec-hero{background:radial-gradient(circle at 0 0,rgba(255,255,255,.15),transparent 28%),linear-gradient(135deg,#07111f 0,#0b2d73 52%,#075fc7 100%)!important;border-color:rgba(255,255,255,.10)!important}
/* Auth cards */
.login-shell,.register-shell,.forgot-shell,.reset-shell,.status-shell,.pending-shell{border-color:var(--tw-border)!important;box-shadow:var(--tw-shadow-lg)!important}.login-hero,.register-hero,.forgot-hero,.reset-hero,.status-hero,.pending-hero{background:radial-gradient(circle at 8% 7%,rgba(255,255,255,.18),transparent 28%),linear-gradient(145deg,#06111f 0,#0b2d73 53%,#075fc7 100%)!important}.login-form-panel,.register-form-panel,.forgot-form-panel,.reset-form-panel,.status-form-panel,.pending-panel{background:radial-gradient(circle at 100% 0,rgba(7,95,199,.08),transparent 28%),#fff!important}
/* Empty states and alerts */
[class*="empty"]{border-style:dashed!important;background:linear-gradient(135deg,#f8fafc,#fff)!important}.iup-toast{position:fixed;right:20px;bottom:20px;z-index:9999;max-width:min(420px,calc(100vw - 40px));border:1px solid #bfdbfe;border-radius:18px;background:#fff;color:#0f172a;padding:14px 16px;box-shadow:0 24px 65px rgba(15,23,42,.20);font-size:13px;font-weight:750;transform:translateY(18px);opacity:0;transition:.22s}.iup-toast.is-visible{transform:none;opacity:1}
/* Responsive */
@media(max-width:767px){.iulx-content{padding-inline:12px!important}.iulx-page-head{border-radius:22px!important}.tw-p-8{padding:1.25rem!important}.tw-p-6{padding:1.1rem!important}table{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Local SVG icon system: replaces Font Awesome webfonts. */
.fa{display:inline-block;flex:0 0 auto;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;mask:var(--portal-icon) center/contain no-repeat;-webkit-mask:var(--portal-icon) center/contain no-repeat;font-style:normal;font-size:inherit;line-height:1}
.fa::before{content:none!important}
.fa[aria-hidden="true"]{pointer-events:none}
.fa:not([class*="fa-"]){--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%2011v6M12%207h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-angle-down{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%209%206%206%206-6%27%2F%3E%3C%2Fsvg%3E")}
.fa-arrow-left{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M19%2012H5M11%206l-6%206%206%206%27%2F%3E%3C%2Fsvg%3E")}
.fa-bank{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%209%209-6%209%206M5%2010v8M9%2010v8M15%2010v8M19%2010v8M3%2021h18%27%2F%3E%3C%2Fsvg%3E")}
.fa-bars{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%206h16M4%2012h16M4%2018h16%27%2F%3E%3C%2Fsvg%3E")}
.fa-bell{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9M10%2021h4%27%2F%3E%3C%2Fsvg%3E")}
.fa-bell-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9M10%2021h4%27%2F%3E%3C%2Fsvg%3E")}
.fa-briefcase{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%207V5a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2M3%2012h18M10%2012v2h4v-2%27%2F%3E%3C%2Fsvg%3E")}
.fa-calendar{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M16%203v4M8%203v4M3%2010h18%27%2F%3E%3C%2Fsvg%3E")}
.fa-check-circle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27m8%2012%203%203%205-6%27%2F%3E%3C%2Fsvg%3E")}
.fa-clock-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3%202%27%2F%3E%3C%2Fsvg%3E")}
.fa-cloud-download{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203v13M7%2011l5%205%205-5%27%2F%3E%3Cpath%20d%3D%27M5%2014H3v7h18v-7h-2%27%2F%3E%3C%2Fsvg%3E")}
.fa-cloud-upload{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2016V3M7%208l5-5%205%205%27%2F%3E%3Cpath%20d%3D%27M5%2014H3v7h18v-7h-2%27%2F%3E%3C%2Fsvg%3E")}
.fa-cog{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M19.4%2015a1.7%201.7%200%200%200%20.3%201.9l.1.1-2.8%202.8-.1-.1a1.7%201.7%200%200%200-1.9-.3%201.7%201.7%200%200%200-1%201.6v.2h-4V21a1.7%201.7%200%200%200-1-1.6%201.7%201.7%200%200%200-1.9.3l-.1.1L4.2%2017l.1-.1a1.7%201.7%200%200%200%20.3-1.9A1.7%201.7%200%200%200%203%2014H2.8v-4H3a1.7%201.7%200%200%200%201.6-1%201.7%201.7%200%200%200-.3-1.9L4.2%207%207%204.2l.1.1A1.7%201.7%200%200%200%209%204.6%201.7%201.7%200%200%200%2010%203V2.8h4V3a1.7%201.7%200%200%200%201%201.6%201.7%201.7%200%200%200%201.9-.3l.1-.1L19.8%207l-.1.1a1.7%201.7%200%200%200-.3%201.9%201.7%201.7%200%200%200%201.6%201h.2v4H21a1.7%201.7%200%200%200-1.6%201z%27%2F%3E%3C%2Fsvg%3E")}
.fa-cogs{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M19.4%2015a1.7%201.7%200%200%200%20.3%201.9l.1.1-2.8%202.8-.1-.1a1.7%201.7%200%200%200-1.9-.3%201.7%201.7%200%200%200-1%201.6v.2h-4V21a1.7%201.7%200%200%200-1-1.6%201.7%201.7%200%200%200-1.9.3l-.1.1L4.2%2017l.1-.1a1.7%201.7%200%200%200%20.3-1.9A1.7%201.7%200%200%200%203%2014H2.8v-4H3a1.7%201.7%200%200%200%201.6-1%201.7%201.7%200%200%200-.3-1.9L4.2%207%207%204.2l.1.1A1.7%201.7%200%200%200%209%204.6%201.7%201.7%200%200%200%2010%203V2.8h4V3a1.7%201.7%200%200%200%201%201.6%201.7%201.7%200%200%200%201.9-.3l.1-.1L19.8%207l-.1.1a1.7%201.7%200%200%200-.3%201.9%201.7%201.7%200%200%200%201.6%201h.2v4H21a1.7%201.7%200%200%200-1.6%201z%27%2F%3E%3C%2Fsvg%3E")}
.fa-comment-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a8%208%200%200%201-8%208H7l-4%202%201.5-4A8%208%200%201%201%2021%2012z%27%2F%3E%3Cpath%20d%3D%27M8%2012h.01M12%2012h.01M16%2012h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-comments{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a8%208%200%200%201-8%208H7l-4%202%201.5-4A8%208%200%201%201%2021%2012z%27%2F%3E%3Cpath%20d%3D%27M8%2012h.01M12%2012h.01M16%2012h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-comments-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a8%208%200%200%201-8%208H7l-4%202%201.5-4A8%208%200%201%201%2021%2012z%27%2F%3E%3Cpath%20d%3D%27M8%2012h.01M12%2012h.01M16%2012h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-credit-card{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M2%2010h20M6%2015h4%27%2F%3E%3C%2Fsvg%3E")}
.fa-dashboard{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E")}
.fa-envelope-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27m3%207%209%206%209-6%27%2F%3E%3C%2Fsvg%3E")}
.fa-envelope-open-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%2010%209-6%209%206v9H3z%27%2F%3E%3Cpath%20d%3D%27m3%2010%209%206%209-6%27%2F%3E%3C%2Fsvg%3E")}
.fa-exclamation-circle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%202%2021h20z%27%2F%3E%3Cpath%20d%3D%27M12%209v5M12%2018h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-exclamation-triangle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%202%2021h20z%27%2F%3E%3Cpath%20d%3D%27M12%209v5M12%2018h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-eye{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2012s4-7%2010-7%2010%207%2010%207-4%207-10%207S2%2012%202%2012z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-archive-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-excel-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-pdf-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-text{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-text-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-file-word-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-folder-open-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h7l2%202h9v11a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z%27%2F%3E%3C%2Fsvg%3E")}
.fa-headphones{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2013a8%208%200%200%201%2016%200v6a2%202%200%200%201-2%202h-2v-7h4M4%2014h4v7H6a2%202%200%200%201-2-2z%27%2F%3E%3C%2Fsvg%3E")}
.fa-history{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2012a9%209%200%201%200%203-6.7L3%208%27%2F%3E%3Cpath%20d%3D%27M3%203v5h5%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3%202%27%2F%3E%3C%2Fsvg%3E")}
.fa-home{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%2011%209-8%209%208%27%2F%3E%3Cpath%20d%3D%27M5%2010v10h14V10%27%2F%3E%3Cpath%20d%3D%27M9%2020v-6h6v6%27%2F%3E%3C%2Fsvg%3E")}
.fa-hourglass-half{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h12M6%2022h12M7%202c0%205%202%206%205%2010-3%204-5%205-5%2010M17%202c0%205-2%206-5%2010%203%204%205%205%205%2010%27%2F%3E%3C%2Fsvg%3E")}
.fa-id-card-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2711%27%20r%3D%272%27%2F%3E%3Cpath%20d%3D%27M5%2016c.8-2%205.2-2%206%200M14%2010h5M14%2014h4%27%2F%3E%3C%2Fsvg%3E")}
.fa-image{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%278.5%27%20cy%3D%278.5%27%20r%3D%271.5%27%2F%3E%3Cpath%20d%3D%27m21%2015-5-5L5%2021%27%2F%3E%3C%2Fsvg%3E")}
.fa-info-circle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%2011v6M12%207h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-key{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2715%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27m11%2012%209-9M17%206l3%203M14%209l3%203%27%2F%3E%3C%2Fsvg%3E")}
.fa-life-ring{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27m5.6%205.6%203.6%203.6M14.8%2014.8l3.6%203.6M18.4%205.6l-3.6%203.6M9.2%2014.8l-3.6%203.6%27%2F%3E%3C%2Fsvg%3E")}
.fa-lightbulb-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%2018h6M10%2022h4M8%2014a7%207%200%201%201%208%200c-1%201-1%202-1%204H9c0-2%200-3-1-4z%27%2F%3E%3C%2Fsvg%3E")}
.fa-line-chart{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%27%2F%3E%3C%2Fsvg%3E")}
.fa-list-alt{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h13M8%2012h13M8%2018h13M3%206h.01M3%2012h.01M3%2018h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-list-ul{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h13M8%2012h13M8%2018h13M3%206h.01M3%2012h.01M3%2018h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-lock{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%2710%27%20width%3D%2716%27%20height%3D%2711%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%2010V7a4%204%200%200%201%208%200v3%27%2F%3E%3C%2Fsvg%3E")}
.fa-money{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M6%209H4v6h2M18%209h2v6h-2%27%2F%3E%3C%2Fsvg%3E")}
.fa-paper-plane{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m22%202-7%2020-4-9-9-4z%27%2F%3E%3Cpath%20d%3D%27M22%202%2011%2013%27%2F%3E%3C%2Fsvg%3E")}
.fa-paper-plane-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m22%202-7%2020-4-9-9-4z%27%2F%3E%3Cpath%20d%3D%27M22%202%2011%2013%27%2F%3E%3C%2Fsvg%3E")}
.fa-paperclip{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m21%2011-8.5%208.5a6%206%200%200%201-8.5-8.5L13%202a4%204%200%200%201%205.7%205.7l-9%209a2%202%200%200%201-2.8-2.8L15%205.8%27%2F%3E%3C%2Fsvg%3E")}
.fa-pencil{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m4%2020%204-.8L19%208.2%2015.8%205%204.8%2016z%27%2F%3E%3Cpath%20d%3D%27m14.5%206.3%203.2%203.2%27%2F%3E%3C%2Fsvg%3E")}
.fa-picture-o{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%278.5%27%20cy%3D%278.5%27%20r%3D%271.5%27%2F%3E%3Cpath%20d%3D%27m21%2015-5-5L5%2021%27%2F%3E%3C%2Fsvg%3E")}
.fa-plus-circle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%208v8M8%2012h8%27%2F%3E%3C%2Fsvg%3E")}
.fa-print{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209V3h12v6M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2%27%2F%3E%3Cpath%20d%3D%27M6%2014h12v7H6z%27%2F%3E%3C%2Fsvg%3E")}
.fa-save{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%203h14l2%202v16H4z%27%2F%3E%3Cpath%20d%3D%27M8%203v6h8V3M8%2021v-7h8v7%27%2F%3E%3C%2Fsvg%3E")}
.fa-search{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%277%27%2F%3E%3Cpath%20d%3D%27m20%2020-4-4%27%2F%3E%3C%2Fsvg%3E")}
.fa-search-plus{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2710%27%20r%3D%276%27%2F%3E%3Cpath%20d%3D%27M10%207v6M7%2010h6M15%2015l6%206%27%2F%3E%3C%2Fsvg%3E")}
.fa-shield{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202%204%205v6c0%205%203.4%209.2%208%2011%204.6-1.8%208-6%208-11V5z%27%2F%3E%3Cpath%20d%3D%27m9%2012%202%202%204-5%27%2F%3E%3C%2Fsvg%3E")}
.fa-sign-in{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m14%208%204%204-4%204M18%2012H7%27%2F%3E%3Cpath%20d%3D%27M10%203H4v18h6%27%2F%3E%3C%2Fsvg%3E")}
.fa-sign-out{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M10%2017l5-5-5-5M15%2012H3%27%2F%3E%3Cpath%20d%3D%27M14%203h6v18h-6%27%2F%3E%3C%2Fsvg%3E")}
.fa-tasks{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%206%202%202%204-4M11%206h10M3%2013l2%202%204-4M11%2013h10M3%2020l2%202%204-4M11%2020h10%27%2F%3E%3C%2Fsvg%3E")}
.fa-th{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E")}
.fa-ticket{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%208a2%202%200%200%200%200%204v5h18v-5a2%202%200%200%200%200-4V3H3z%27%2F%3E%3Cpath%20d%3D%27M13%203v14%27%2F%3E%3C%2Fsvg%3E")}
.fa-times{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%206%2012%2012M18%206%206%2018%27%2F%3E%3C%2Fsvg%3E")}
.fa-times-circle{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%206%2012%2012M18%206%206%2018%27%2F%3E%3C%2Fsvg%3E")}
.fa-university{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h18M5%2021V9l7-5%207%205v12M9%2021v-6h6v6M9%2011h.01M15%2011h.01%27%2F%3E%3C%2Fsvg%3E")}
.fa-user{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2021a8%208%200%200%200-16%200%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3C%2Fsvg%3E")}
.fa-user-plus{--portal-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M15%2021a8%208%200%200%200-12%200%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M19%208v6M16%2011h6%27%2F%3E%3C%2Fsvg%3E")}

/* ================================================================
   Professional portal standard — shared refinement layer
   ================================================================ */
:root{
  --portal-brand:#0866d9;--portal-brand-strong:#0756b7;--portal-brand-soft:#eaf3ff;
  --portal-navy:#07162d;--portal-ink:#10203a;--portal-muted:#63738e;
  --portal-line:#dce6f2;--portal-surface:#ffffff;--portal-canvas:#f3f7fc;
  --portal-success:#0b8a61;--portal-warning:#b96700;--portal-danger:#c52236;
  --portal-radius-sm:12px;--portal-radius:18px;--portal-radius-lg:26px;
  --portal-shadow-sm:0 10px 28px rgba(15,35,68,.07);
  --portal-shadow:0 22px 60px rgba(15,35,68,.10);
  --portal-shadow-lg:0 32px 90px rgba(7,22,45,.16);
  --portal-focus:0 0 0 4px rgba(8,102,217,.16);
}
html{color-scheme:light;scroll-padding-top:88px;background:var(--portal-canvas)}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{color:#fff;background:var(--portal-brand)}
:focus-visible{outline:3px solid rgba(8,102,217,.48)!important;outline-offset:3px!important}
a,button,input,select,textarea,summary{touch-action:manipulation}
button,input,select,textarea{font:inherit}
button{letter-spacing:normal}
button:active:not(:disabled),a[class*="btn"]:active{transform:translateY(0)!important}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}
input[readonly],textarea[readonly]{background:#f0f4fa!important;color:#50617b!important}
input::placeholder,textarea::placeholder{color:#93a2b8;opacity:1}
select{background-image:linear-gradient(45deg,transparent 50%,#65758d 50%),linear-gradient(135deg,#65758d 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.75rem!important;appearance:none}
textarea{min-height:120px}
form[data-processing="true"]{cursor:progress}
form[data-processing="true"] :is(input,select,textarea){caret-color:transparent}
[hidden]{display:none!important}

.iulx-content{width:100%;max-width:1540px;margin-inline:auto;padding-bottom:max(36px,env(safe-area-inset-bottom))}
.iulx-topbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.iulx-title{letter-spacing:-.035em;text-wrap:balance}
.iulx-description{max-width:760px;text-wrap:pretty}
.iulx-avatar{display:grid!important;place-items:center!important;overflow:hidden;font-size:1.2rem!important}
.iulx-avatar .fa{width:1.15em;height:1.15em}
.iulx-profile-disclosure>summary::-webkit-details-marker{display:none}
.iulx-profile-disclosure>summary{list-style:none}
.iulx-profile-disclosure[open] .iulx-profile-chevron{transform:rotate(180deg)}
.iulx-profile-chevron{transition:transform .2s ease}
.iulx-logo-wrap{position:relative;display:grid;place-items:center;overflow:hidden}
.iulx-logo-wrap [data-portal-logo-fallback]{display:grid;place-items:center;width:100%;height:100%}

:is(section,article,aside,div)[class*="-panel"],:is(section,article,aside,div)[class*="-card"]{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
:is(section,article,aside,div)[class*="-panel"]:hover{border-color:#cfdeef}
:is(.iulx-btn,[class*="-button"],[class*="-submit"],[class*="-btn"]){min-height:44px;justify-content:center}
:is(.iulx-btn,[class*="-button"],[class*="-submit"],[class*="-btn"]):focus-visible{box-shadow:var(--portal-focus)!important}

/* Improve dense data views without changing table semantics. */
[class*="table-wrap"],.tw-overflow-x-auto{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#b8c7da transparent}
table{font-variant-numeric:tabular-nums}
thead th{position:relative;white-space:nowrap}
tbody td{border-bottom-color:#e8eef6!important}
tbody tr:last-child td{border-bottom-color:transparent!important}

/* High-quality empty states and notices. */
[class*="-empty"]{min-height:180px;place-content:center;text-align:center;border-width:1px!important}
[role="alert"],[class*="-alert"]{box-shadow:0 10px 30px rgba(15,35,68,.06)}
.iup-toast-region{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10000;display:grid;gap:10px;pointer-events:none}
.iup-toast{position:relative!important;right:auto!important;bottom:auto!important;pointer-events:auto}
.iup-toast.is-success{border-color:#b7ead7}.iup-toast.is-error{border-color:#f2bcc4}.iup-toast.is-warning{border-color:#f2d39e}

/* Accessible loading indicator for any busy submit control. */
[aria-busy="true"][type="submit"]::before,button[aria-busy="true"]::before{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:portal-spin .7s linear infinite}
@keyframes portal-spin{to{transform:rotate(360deg)}}

/* Mobile standards. */
@media(max-width:1023px){
  .iulx-content{padding-inline:clamp(12px,3vw,24px)}
  .iulx-sidebar{padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:767px){
  body{font-size:15px}
  .iulx-title{font-size:clamp(1.55rem,8vw,2.15rem)}
  .iulx-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .iulx-actions>:only-child{grid-column:1/-1}
  .iulx-actions :is(a,button){width:100%}
  [class*="-hero"]{border-radius:22px!important}
  [class*="-panel"],[class*="-card"]{border-radius:20px!important}
  [class*="table-wrap"]{margin-inline:-4px;padding-bottom:4px}
}
@media(max-width:520px){
  .iulx-actions{grid-template-columns:1fr}
  .iulx-mobile-bar a{min-width:0}
  .iulx-mobile-bar b{overflow:hidden;text-overflow:ellipsis}
}
@media(prefers-contrast:more){
  :root{--portal-line:#9eafc6;--portal-muted:#45556d}
  input,select,textarea,button,a{border-width:2px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [aria-busy="true"][type="submit"]::before,button[aria-busy="true"]::before{animation-duration:1.4s}
}
@media print{
  .no-print,.iulx-sidebar,.iulx-topbar,.iulx-mobile-bar,.iulx-overlay,.iulx-command,.iup-toast-region{display:none!important}
  .iulx-main,.iulx-content{display:block!important;margin:0!important;padding:0!important;max-width:none!important}
  body{background:#fff!important;color:#000!important}
  [class*="-card"],[class*="-panel"]{box-shadow:none!important;break-inside:avoid}
}
