:root {
    --union-ink: #102a2a;
    --union-muted: #637170;
    --union-line: #dfe8e5;
    --union-soft: #f2f7f5;
    --union-green-950: #063b37;
    --union-green-900: #075249;
    --union-green-800: #09685b;
    --union-green-700: #0c7c69;
    --union-green-600: #109477;
    --union-gold: #f2bd32;
    --union-shadow: 0 12px 36px rgba(4, 51, 46, .09);
}

html[data-site-skin="ocean"] { --union-green-950:#082f49;--union-green-900:#0c4a6e;--union-green-800:#075985;--union-green-700:#0369a1;--union-green-600:#0284c7;--union-gold:#fbbf24;--union-soft:#f0f9ff;--union-line:#d7eaf4; }
html[data-site-skin="warm"] { --union-green-950:#431407;--union-green-900:#7c2d12;--union-green-800:#9a3412;--union-green-700:#c2410c;--union-green-600:#ea580c;--union-gold:#facc15;--union-soft:#fff7ed;--union-line:#fed7aa; }
html[data-site-skin="graphite"] { --union-green-950:#111827;--union-green-900:#1f2937;--union-green-800:#374151;--union-green-700:#4b5563;--union-green-600:#6b7280;--union-gold:#f59e0b;--union-soft:#f3f4f6;--union-line:#d1d5db; }
html[data-site-skin="royal"] { --union-green-950:#172554;--union-green-900:#1e3a8a;--union-green-800:#1e40af;--union-green-700:#1d4ed8;--union-green-600:#2563eb;--union-gold:#fbbf24;--union-soft:#eff6ff;--union-line:#bfdbfe; }
html[data-site-skin="burgundy"] { --union-green-950:#4c0519;--union-green-900:#881337;--union-green-800:#9f1239;--union-green-700:#be123c;--union-green-600:#e11d48;--union-gold:#d4a853;--union-soft:#fff1f2;--union-line:#fecdd3; }
html[data-site-skin="violet"] { --union-green-950:#2e1065;--union-green-900:#4c1d95;--union-green-800:#5b21b6;--union-green-700:#6d28d9;--union-green-600:#7c3aed;--union-gold:#fbbf24;--union-soft:#f5f3ff;--union-line:#ddd6fe; }
html[data-site-skin="teal"] { --union-green-950:#042f2e;--union-green-900:#134e4a;--union-green-800:#115e59;--union-green-700:#0f766e;--union-green-600:#0d9488;--union-gold:#fde047;--union-soft:#f0fdfa;--union-line:#99f6e4; }
html[data-site-skin="sunrise"] { --union-green-950:#7c2d12;--union-green-900:#9a3412;--union-green-800:#c2410c;--union-green-700:#ea580c;--union-green-600:#f97316;--union-gold:#facc15;--union-soft:#fffbeb;--union-line:#fde68a; }
html[data-site-skin="midnight"] { --union-ink:#e5e7eb;--union-muted:#9ca3af;--union-line:#334155;--union-soft:#0f172a;--union-green-950:#020617;--union-green-900:#0f172a;--union-green-800:#1e3a8a;--union-green-700:#1d4ed8;--union-green-600:#3b82f6;--union-gold:#fbbf24; }
html[data-site-skin="graphite"] .fi-section,html[data-site-skin="graphite"] .fi-ta-ctn { border-radius:4px; }
html[data-site-skin="violet"] .fi-section,html[data-site-skin="violet"] .fi-ta-ctn { border-radius:24px; }
html[data-site-skin="midnight"] .fi-sidebar,html[data-site-skin="midnight"] .fi-sidebar-header,html[data-site-skin="midnight"] .fi-topbar nav,html[data-site-skin="midnight"] .fi-section,html[data-site-skin="midnight"] .fi-ta-ctn { background:#111827;color:#e5e7eb; }

body.fi-body {
    color: var(--union-ink);
    background: var(--union-soft);
}

.fi-sidebar {
    border-right: 1px solid var(--union-line);
    background: #fff;
    box-shadow: 8px 0 30px rgba(4, 51, 46, .04);
}

.fi-sidebar-header {
    border-bottom: 1px solid var(--union-line);
    background: #fff;
    box-shadow: none;
}

.fi-logo {
    max-width: 270px;
}

.fi-sidebar-nav {
    padding-top: 1.25rem;
}

.fi-sidebar-group-label {
    color: var(--union-green-800) !important;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fi-sidebar-item-button {
    border-radius: 12px;
    color: #344845;
}

.fi-sidebar-item-button:hover {
    background: #edf7f4;
}

.fi-sidebar-item-active > .fi-sidebar-item-button {
    color: var(--union-green-900);
    background: #dff3ed;
    box-shadow: inset 4px 0 0 var(--union-green-600);
}

.fi-topbar nav {
    border-bottom: 1px solid var(--union-line);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 5px 25px rgba(4, 51, 46, .05);
    backdrop-filter: blur(12px);
}

.fi-main {
    max-width: 1480px;
}

.fi-header-heading {
    color: var(--union-ink);
    font-weight: 900;
    letter-spacing: -.025em;
}

.fi-section,
.fi-ta-ctn,
.fi-fo-component-ctn .fi-section,
.fi-wi-stats-overview-stat {
    overflow: hidden;
    border: 1px solid var(--union-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--union-shadow);
}

.fi-wi-stats-overview-stat {
    transition: transform .18s ease, box-shadow .18s ease;
}

.fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(4, 51, 46, .13);
}

.fi-btn-color-primary,
.fi-ac-btn-action.fi-color-primary {
    background: var(--union-green-700) !important;
}

.fi-btn-color-primary:hover,
.fi-ac-btn-action.fi-color-primary:hover {
    background: var(--union-green-900) !important;
}

.fi-tabs,
.fi-ta-header,
.fi-section-header {
    border-color: var(--union-line);
}

.union-portal-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, .5fr);
    gap: 48px;
    align-items: center;
    min-height: 320px;
    overflow: hidden;
    padding: 48px;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(120deg, var(--union-green-950), var(--union-green-700) 72%, var(--union-green-600));
    box-shadow: 0 24px 65px rgba(2, 42, 38, .2);
}

.union-portal-hero::after {
    position: absolute;
    right: -170px;
    bottom: -260px;
    width: 470px;
    height: 470px;
    border: 70px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: "";
}

.union-portal-hero__pattern {
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size: 24px 24px;
    mask-image: linear-gradient(90deg, transparent, #000);
}

.union-portal-hero__content,
.union-portal-member-card {
    position: relative;
    z-index: 2;
}

.union-portal-eyebrow {
    color: #a9eadb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.union-portal-hero h2 {
    max-width: 760px;
    margin: 12px 0 0;
    font-size: clamp(34px, 4vw, 57px);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -.04em;
}

.union-portal-hero__content > p {
    max-width: 720px;
    margin: 20px 0 0;
    color: #d7efea;
    font-size: 17px;
}

.union-portal-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.union-portal-hero__actions a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 10px;
    color: #fff;
    font-weight: 850;
    transition: transform .18s ease, background .18s ease;
}

.union-portal-hero__actions a:first-child {
    border-color: #fff;
    color: var(--union-green-900);
    background: #fff;
}

.union-portal-hero__actions a:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .13);
}

.union-portal-hero__actions a:first-child:hover {
    background: #f4fbf8;
}

.union-portal-member-card {
    display: flex;
    min-height: 205px;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 20px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 18px 48px rgba(2, 42, 38, .16);
    backdrop-filter: blur(14px);
}

.union-portal-member-card > span {
    color: #bfe9df;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.union-portal-member-card > strong {
    margin-top: 9px;
    color: var(--union-gold);
    font-size: 25px;
}

.union-portal-member-card > small {
    margin-top: 2px;
    color: #d7efea;
}

.union-portal-member-card > a {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .22);
    font-weight: 850;
}

.union-portal-member-card > a b {
    margin-left: 6px;
    color: var(--union-gold);
}

.union-portal-quick-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    overflow: hidden;
    margin: -22px 26px 0;
    border: 1px solid var(--union-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(4, 51, 46, .14);
}

.union-portal-quick-links > a {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 13px;
    align-items: center;
    min-height: 105px;
    padding: 22px;
    border-right: 1px solid var(--union-line);
    color: var(--union-ink);
    transition: background .18s ease;
}

.union-portal-quick-links > a:last-child {
    border-right: 0;
}

.union-portal-quick-links > a:hover {
    background: var(--union-soft);
}

.union-portal-quick-links__icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 13px;
    color: var(--union-green-900);
    background: #dff3ed;
    font-size: 20px;
    font-weight: 900;
}

.union-portal-quick-links strong,
.union-portal-quick-links small {
    display: block;
}

.union-portal-quick-links strong {
    font-size: 15px;
}

.union-portal-quick-links small {
    margin-top: 3px;
    color: var(--union-muted);
    font-size: 11px;
    line-height: 1.3;
}

.union-portal-quick-links > a > b {
    color: var(--union-green-600);
    font-size: 19px;
}

.union-portal-unread-badge {
    display: inline-flex;
    margin-top: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    color: #fff;
    background: #dc2626;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.union-member-news {
    overflow: hidden;
    border: 1px solid var(--union-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(4, 51, 46, .09);
}

.union-member-news__header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    padding: 28px 30px;
    border-bottom: 1px solid var(--union-line);
}

.union-member-news__header h2 {
    margin: 5px 0 3px;
    color: var(--union-ink);
    font-size: 28px;
}

.union-member-news__header p {
    margin: 0;
    color: var(--union-muted);
}

.union-member-news__header > a {
    color: var(--union-green-700);
    font-weight: 850;
}

.union-member-news__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 18px;
    padding: 24px;
}

.union-member-news__card {
    overflow: hidden;
    border: 1px solid var(--union-line);
    border-radius: 16px;
    background: #fff;
}

.union-member-news__card.is-unread {
    border-color: #f0b71a;
    box-shadow: 0 0 0 2px rgba(240, 183, 26, .13);
}

.union-member-news__card > img {
    width: 100%;
    height: 175px;
    object-fit: cover;
}

.union-member-news__body {
    padding: 20px;
}

.union-member-news__meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--union-muted);
    font-size: 11px;
}

.union-member-news__meta span {
    padding: 3px 8px;
    border-radius: 999px;
    color: #fff;
    background: #dc2626;
    font-weight: 900;
}

.union-member-news__body h3 {
    margin: 12px 0 8px;
    color: var(--union-ink);
    font-size: 19px;
    line-height: 1.25;
}

.union-member-news__body > p,
.union-member-news__full-text {
    color: var(--union-muted);
    line-height: 1.6;
}

.union-member-news__read-link {
    display: inline-flex;
    margin-top: 14px;
    color: var(--union-green-700);
    font-weight: 850;
}

.union-member-news__body button {
    margin-top: 16px;
    padding: 9px 13px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: var(--union-green-700);
    cursor: pointer;
    font-weight: 800;
}

.union-member-news__body > small {
    display: block;
    margin-top: 16px;
    color: var(--union-green-700);
    font-weight: 800;
}

.union-member-news__empty {
    grid-column: 1 / -1;
    padding: 35px;
    border-radius: 14px;
    color: var(--union-muted);
    background: var(--union-soft);
    text-align: center;
}

.fi-simple-layout {
    background:
        radial-gradient(circle at 80% 15%, rgba(242, 189, 50, .13), transparent 25%),
        linear-gradient(135deg, var(--union-green-950), var(--union-green-700));
}

.fi-simple-main {
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(2, 42, 38, .3);
}

@media (max-width: 1100px) {
    .union-portal-quick-links {
        grid-template-columns: repeat(2, 1fr);
    }

    .union-portal-quick-links > a:nth-child(2) {
        border-right: 0;
    }

    .union-portal-quick-links > a:nth-child(-n+2) {
        border-bottom: 1px solid var(--union-line);
    }
}

@media (max-width: 760px) {
    .union-portal-hero {
        grid-template-columns: 1fr;
        gap: 28px;
        min-height: auto;
        padding: 30px 24px 50px;
    }

    .union-portal-member-card {
        min-height: auto;
    }

    .union-portal-quick-links {
        grid-template-columns: 1fr;
        margin-inline: 14px;
    }

    .union-portal-quick-links > a,
    .union-portal-quick-links > a:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid var(--union-line);
    }

    .union-portal-quick-links > a:last-child {
        border-bottom: 0;
    }

    .union-member-news__header {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px;
    }

    .union-member-news__grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }
}
