/**
 * Morse Policy Forum Membership Portal
 * Frontend design system, Phase 1.1.
 * Fully scoped to .mpfm-portal to avoid theme/shortcode conflicts.
 */

.mpfm-portal {
    --mpfm-primary: #071a33;
    --mpfm-primary-2: #0e2b52;
    --mpfm-primary-3: #123a6a;
    --mpfm-accent: #b91c1c;
    --mpfm-accent-2: #dc2626;
    --mpfm-gold: #d6a849;
    --mpfm-bg: #f3f6fb;
    --mpfm-card: #ffffff;
    --mpfm-card-soft: #f8fafc;
    --mpfm-border: #dbe3ef;
    --mpfm-border-strong: #bfccd9;
    --mpfm-text: #101828;
    --mpfm-muted: #667085;
    --mpfm-shadow: 0 24px 70px rgba(15, 23, 42, .16);
    --mpfm-shadow-soft: 0 12px 32px rgba(15, 23, 42, .08);
    --mpfm-glow: 0 0 0 1px rgba(255,255,255,.08), 0 24px 60px rgba(7,26,51,.20);
    --mpfm-radius: 26px;
    --mpfm-radius-sm: 16px;
    box-sizing: border-box;
    background:
        radial-gradient(circle at top left, rgba(185, 28, 28, .10), transparent 34%),
        radial-gradient(circle at top right, rgba(7, 26, 51, .12), transparent 32%),
        linear-gradient(180deg, #f7f9fd, var(--mpfm-bg));
    color: var(--mpfm-text);
    font-family: Inter, Arial, Helvetica, sans-serif;
    padding: 28px;
    border-radius: 34px;
    line-height: 1.62;
}

.mpfm-portal,
.mpfm-portal * { box-sizing: border-box; }

.mpfm-portal a { color: var(--mpfm-primary-2); text-decoration: none; }
.mpfm-portal a:hover { color: var(--mpfm-accent); }

.mpfm-eyebrow {
    margin: 0 0 9px;
    color: rgba(255,255,255,.75);
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 950;
    font-size: 12px;
}

.mpfm-eyebrow.dark { color: var(--mpfm-accent); }

.mpfm-gateway-stage {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    border-radius: 34px;
    padding: clamp(28px, 5vw, 56px);
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
    gap: 30px;
    align-items: center;
    box-shadow: var(--mpfm-shadow);
    border: 1px solid rgba(255,255,255,.16);
    background:
        radial-gradient(circle at 82% 12%, rgba(214, 168, 73, .28), transparent 28%),
        radial-gradient(circle at 16% 20%, rgba(185, 28, 28, .34), transparent 26%),
        linear-gradient(135deg, var(--mpfm-primary), var(--mpfm-primary-2) 54%, #061526);
}

.mpfm-gateway-grid-bg {
    position: absolute;
    inset: 0;
    opacity: .62;
    background:
        linear-gradient(90deg, rgba(255,255,255,.10), transparent 26%, rgba(255,255,255,.05)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.055) 0, rgba(255,255,255,.055) 1px, transparent 1px, transparent 20px),
        radial-gradient(circle at bottom center, rgba(255,255,255,.11), transparent 34%);
    pointer-events: none;
}

.mpfm-gateway-stage:after {
    content: '';
    position: absolute;
    width: 440px;
    height: 440px;
    right: -180px;
    bottom: -210px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 70px rgba(255,255,255,.08);
    pointer-events: none;
}

.mpfm-gateway-copy,
.mpfm-choice-grid,
.mpfm-hero-content,
.mpfm-hero-panel,
.mpfm-member-identity,
.mpfm-portal-meta { position: relative; z-index: 1; }

.mpfm-gateway-copy h2,
.mpfm-hero h2,
.mpfm-portal-header h2 {
    color: #ffffff;
    margin: 0;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .94;
    letter-spacing: -.065em;
    font-weight: 950;
}

.mpfm-gateway-copy p:not(.mpfm-eyebrow),
.mpfm-hero p:not(.mpfm-eyebrow) {
    color: rgba(255,255,255,.82);
    font-size: 18px;
    max-width: 720px;
    margin-top: 18px;
}

.mpfm-choice-grid { display: grid; gap: 18px; }

.mpfm-choice-card {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    border-radius: 28px;
    padding: 26px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.19);
    color: #ffffff !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 16px 36px rgba(0,0,0,.16);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.mpfm-choice-card:hover {
    transform: translateY(-4px) scale(1.01);
    border-color: rgba(255,255,255,.38);
    box-shadow: 0 22px 48px rgba(0,0,0,.22), 0 0 0 1px rgba(214,168,73,.16);
    color: #ffffff !important;
}

.mpfm-choice-card:before {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 38%, rgba(214,168,73,.10));
    opacity: .9;
    pointer-events: none;
}

.mpfm-choice-card > * { position: relative; z-index: 1; }

.mpfm-choice-card-organization { background: rgba(255,255,255,.075); }

.mpfm-choice-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.21);
    color: var(--mpfm-gold);
    font-weight: 950;
}

.mpfm-choice-kicker {
    margin-top: 18px;
    color: rgba(255,255,255,.70);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mpfm-choice-card strong {
    display: block;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1;
    color: #ffffff;
    letter-spacing: -.04em;
    font-weight: 950;
    margin-top: 6px;
}

.mpfm-choice-card em {
    display: block;
    margin: 14px 0 18px;
    font-style: normal;
    color: rgba(255,255,255,.78);
}

.mpfm-choice-card b { color: #ffffff; font-weight: 950; }

.mpfm-individual-panel {
    background: var(--mpfm-card);
    border: 1px solid var(--mpfm-border);
    border-radius: var(--mpfm-radius);
    box-shadow: var(--mpfm-shadow-soft);
    padding: clamp(22px, 4vw, 34px);
    margin: 26px 0;
    transform-origin: top center;
}

.mpfm-membership-gateway-shell .mpfm-individual-panel {
    opacity: .98;
}

.mpfm-section-heading { max-width: 820px; margin-bottom: 20px; }

.mpfm-section-heading h3,
.mpfm-section h3,
.mpfm-tier-card h4,
.mpfm-dashboard-card h3,
.mpfm-external-note strong {
    color: var(--mpfm-primary);
    margin: 10px 0;
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.mpfm-section-heading h3,
.mpfm-section h3 { font-size: clamp(28px, 3vw, 42px); }

.mpfm-section-heading p:not(.mpfm-eyebrow),
.mpfm-tier-card p,
.mpfm-tier-card li,
.mpfm-dashboard-card p,
.mpfm-external-note p,
.mpfm-disclaimer p { color: var(--mpfm-muted); }

.mpfm-tier-grid,
.mpfm-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 22px 0 0;
}

.mpfm-tier-card,
.mpfm-dashboard-card,
.mpfm-section,
.mpfm-disclaimer,
.mpfm-external-note {
    background: var(--mpfm-card);
    border: 1px solid var(--mpfm-border);
    border-radius: var(--mpfm-radius);
    box-shadow: var(--mpfm-shadow-soft);
    padding: 24px;
}

.mpfm-tier-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 390px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mpfm-tier-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 46px rgba(15,23,42,.11);
    border-color: rgba(14,43,82,.22);
}

.mpfm-tier-card.featured {
    border-color: rgba(185, 28, 28, .34);
    box-shadow: 0 20px 52px rgba(185, 28, 28, .14);
}

.mpfm-tier-card.featured:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--mpfm-accent), var(--mpfm-gold));
}

.mpfm-tier-topline span,
.mpfm-dashboard-card span {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(185, 28, 28, .08);
    color: var(--mpfm-accent);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mpfm-tier-card h4 { font-size: 27px; }

.mpfm-tier-price {
    color: var(--mpfm-primary-2);
    font-size: 18px;
    font-weight: 950;
    margin: 4px 0 8px;
}

.mpfm-tier-card ul {
    margin: 12px 0 24px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    flex: 1;
}

.mpfm-tier-card li:before {
    content: '✓';
    color: var(--mpfm-accent);
    font-weight: 950;
    margin-right: 8px;
}

.mpfm-button {
    appearance: none;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 950;
    font-size: 14px;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.mpfm-button:hover { transform: translateY(-1px); }

.mpfm-button.primary {
    background: linear-gradient(135deg, var(--mpfm-accent), var(--mpfm-accent-2));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(185, 28, 28, .26);
}

.mpfm-button.ghost {
    background: rgba(255,255,255,.12);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.24);
}

.mpfm-button.muted {
    background: var(--mpfm-card-soft);
    color: var(--mpfm-muted);
    border: 1px solid var(--mpfm-border);
    cursor: not-allowed;
}

.mpfm-external-note { margin: 24px 0; border-left: 5px solid var(--mpfm-gold); }
.mpfm-disclaimer { margin-top: 24px; border-left: 5px solid var(--mpfm-accent); }
.mpfm-disclaimer strong { color: var(--mpfm-primary); font-weight: 950; }

.mpfm-hero,
.mpfm-portal-header {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(7, 26, 51, .98), rgba(14, 43, 82, .97)),
        radial-gradient(circle at top right, rgba(214, 168, 73, .28), transparent 40%);
    color: #ffffff;
    border-radius: 30px;
    padding: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    box-shadow: var(--mpfm-shadow);
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,.15);
}

.mpfm-hero:before,
.mpfm-portal-header:before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08), transparent 30%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0, rgba(255,255,255,.045) 1px, transparent 1px, transparent 18px);
    opacity: .55;
    pointer-events: none;
}

.mpfm-hero.compact { min-height: 260px; }
.mpfm-hero-content { max-width: 690px; }
.mpfm-portal-header h2 { font-size: clamp(26px, 3vw, 40px); }

.mpfm-member-identity { display: flex; align-items: center; gap: 18px; }

.mpfm-avatar {
    border-radius: 24px;
    border: 3px solid rgba(255,255,255,.36);
    box-shadow: 0 14px 28px rgba(0,0,0,.22);
}

.mpfm-status-pill,
.mpfm-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-weight: 950;
    font-size: 12px;
    margin: 8px 6px 0 0;
}

.mpfm-status-pill {
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.18);
}

.mpfm-badge.blue { background: #dbeafe; color: #1d4ed8; }
.mpfm-badge.silver { background: #e5e7eb; color: #374151; }
.mpfm-badge.gold { background: #fef3c7; color: #92400e; }

.mpfm-portal-meta {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 20px;
    padding: 16px;
    min-width: 210px;
}

.mpfm-portal-meta span {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.mpfm-portal-meta strong { color: #ffffff; font-size: 20px; font-weight: 950; }
.mpfm-dashboard-card { min-height: 180px; }

@media (max-width: 1050px) {
    .mpfm-gateway-stage,
    .mpfm-hero,
    .mpfm-portal-header { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; }
    .mpfm-tier-grid,
    .mpfm-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .mpfm-portal { padding: 16px; border-radius: 22px; }
    .mpfm-gateway-stage,
    .mpfm-hero,
    .mpfm-portal-header { padding: 24px; border-radius: 24px; min-height: auto; }
    .mpfm-choice-grid,
    .mpfm-tier-grid,
    .mpfm-dashboard-grid { grid-template-columns: 1fr; }
    .mpfm-member-identity { flex-direction: column; align-items: flex-start; }
}

.mpfm-portal.mpfm-ready .mpfm-gateway-stage,
.mpfm-portal.mpfm-ready .mpfm-choice-card,
.mpfm-portal.mpfm-ready .mpfm-tier-card,
.mpfm-portal.mpfm-ready .mpfm-dashboard-card,
.mpfm-portal.mpfm-ready .mpfm-section,
.mpfm-portal.mpfm-ready .mpfm-external-note,
.mpfm-portal.mpfm-ready .mpfm-disclaimer {
    animation: mpfmSoftEnter .42s ease both;
}

.mpfm-portal.mpfm-ready .mpfm-choice-card:nth-child(2) { animation-delay: .07s; }
.mpfm-portal.mpfm-ready .mpfm-tier-card:nth-child(2) { animation-delay: .06s; }
.mpfm-portal.mpfm-ready .mpfm-tier-card:nth-child(3) { animation-delay: .12s; }

@keyframes mpfmSoftEnter {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .mpfm-portal *,
    .mpfm-portal.mpfm-ready * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Phase 2 signup/application flow */
.mpfm-application-panel {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    border: 1px solid var(--mpfm-border);
    border-radius: var(--mpfm-radius);
    box-shadow: var(--mpfm-shadow-soft);
    padding: clamp(22px, 4vw, 34px);
    margin: 26px 0;
}

.mpfm-application-form {
    display: none;
    margin-top: 22px;
    background: #ffffff;
    border: 1px solid rgba(14,43,82,.14);
    border-radius: 28px;
    padding: clamp(20px, 3vw, 30px);
    box-shadow: 0 26px 66px rgba(15,23,42,.11);
}

.mpfm-application-form.is-active { display: block; animation: mpfmSoftEnter .32s ease both; }

.mpfm-form-header {
    border-bottom: 1px solid var(--mpfm-border);
    padding-bottom: 16px;
    margin-bottom: 18px;
}

.mpfm-form-header span,
.mpfm-review-pill {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(14,43,82,.08);
    color: var(--mpfm-primary-2);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mpfm-review-pill {
    margin: 0 0 16px;
    background: rgba(214,168,73,.16);
    color: #8a5f08;
}

.mpfm-form-header h4 {
    margin: 10px 0 8px;
    color: var(--mpfm-primary);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 950;
}

.mpfm-form-header p { color: var(--mpfm-muted); margin: 0; }

.mpfm-form-grid {
    display: grid;
    gap: 16px;
    margin: 16px 0;
}

.mpfm-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mpfm-form-grid.one { grid-template-columns: 1fr; }

.mpfm-form-grid label,
.mpfm-confirm-row {
    display: grid;
    gap: 7px;
    color: var(--mpfm-primary);
    font-weight: 850;
    font-size: 13px;
}

.mpfm-form-grid input,
.mpfm-form-grid textarea,
.mpfm-form-grid select {
    width: 100%;
    border: 1px solid var(--mpfm-border);
    border-radius: 16px;
    padding: 13px 14px;
    background: #fbfdff;
    color: var(--mpfm-text);
    font-size: 15px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.80);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.mpfm-form-grid textarea { resize: vertical; min-height: 96px; }

.mpfm-form-grid input:focus,
.mpfm-form-grid textarea:focus,
.mpfm-form-grid select:focus {
    outline: none;
    border-color: rgba(14,43,82,.42);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(14,43,82,.09);
}

.mpfm-confirm-row {
    grid-template-columns: auto 1fr;
    align-items: start;
    background: rgba(7,26,51,.04);
    border: 1px solid rgba(14,43,82,.10);
    border-radius: 18px;
    padding: 14px;
    margin-top: 18px;
    color: var(--mpfm-muted);
}

.mpfm-confirm-row input { margin-top: 5px; }

.mpfm-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.mpfm-button.ghost {
    color: var(--mpfm-primary-2);
    background: #ffffff;
    border: 1px solid var(--mpfm-border);
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.mpfm-form-notice {
    border-radius: 22px;
    padding: 18px 20px;
    margin: 0 0 22px;
    box-shadow: var(--mpfm-shadow-soft);
    border: 1px solid var(--mpfm-border);
    background: #ffffff;
}

.mpfm-form-notice strong { display: block; color: var(--mpfm-primary); font-weight: 950; margin-bottom: 6px; }
.mpfm-form-notice p { margin: 0 0 12px; color: var(--mpfm-muted); }
.mpfm-form-notice ul { margin: 8px 0 0 18px; color: var(--mpfm-muted); }
.mpfm-form-notice.error { border-left: 5px solid var(--mpfm-accent); }
.mpfm-form-notice.success { border-left: 5px solid #16a34a; }

.mpfm-pending-banner {
    margin: 0 0 24px;
    padding: 20px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(214,168,73,.18), rgba(255,255,255,.92));
    border: 1px solid rgba(214,168,73,.32);
    box-shadow: var(--mpfm-shadow-soft);
}

.mpfm-pending-banner strong { color: var(--mpfm-primary); font-weight: 950; }
.mpfm-pending-banner p { color: var(--mpfm-muted); margin: 6px 0 0; }
.mpfm-hidden-anchor { display: block; height: 1px; overflow: hidden; }

@media (max-width: 760px) {
    .mpfm-form-grid.two { grid-template-columns: 1fr; }
    .mpfm-form-actions { flex-direction: column; }
    .mpfm-form-actions .mpfm-button { width: 100%; }
}

/* Phase 3 app-style portal and onboarding refinements */
.mpfm-application-panel {
    display: none;
}

.mpfm-application-panel.is-active {
    display: block;
    animation: mpfmSoftEnter .32s ease both;
}

.mpfm-app-header {
    align-items: stretch;
}

.mpfm-avatar-wrap {
    position: relative;
    width: 98px;
    height: 98px;
    flex: 0 0 auto;
}

.mpfm-avatar-wrap .mpfm-avatar,
.mpfm-avatar-wrap img.mpfm-avatar {
    width: 98px;
    height: 98px;
    object-fit: cover;
    display: block;
}

.mpfm-verified-dot {
    position: absolute;
    right: -5px;
    bottom: -5px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 950;
    border: 3px solid rgba(255,255,255,.94);
    box-shadow: 0 12px 24px rgba(0,0,0,.20);
}

.mpfm-verified-dot.blue { background: #2563eb; }
.mpfm-verified-dot.silver { background: linear-gradient(135deg, #9ca3af, #f3f4f6); color: #111827; }
.mpfm-verified-dot.gold { background: linear-gradient(135deg, #b45309, #facc15); color: #111827; }

.mpfm-portal-meta-stack {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    min-width: 260px;
}

.mpfm-portal-meta-stack .mpfm-portal-meta {
    min-width: 0;
}

.mpfm-portal-meta strong {
    display: block;
    font-size: 16px;
    line-height: 1.25;
}

.mpfm-app-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.mpfm-portal-nav {
    position: sticky;
    top: 24px;
    display: grid;
    gap: 8px;
    background: rgba(255,255,255,.88);
    border: 1px solid var(--mpfm-border);
    border-radius: 26px;
    padding: 12px;
    box-shadow: var(--mpfm-shadow-soft);
    backdrop-filter: blur(14px);
}

.mpfm-portal-tab {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 18px;
    background: transparent;
    color: var(--mpfm-primary);
    font-weight: 900;
    text-align: left;
    padding: 13px 14px;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}

.mpfm-portal-tab:hover {
    transform: translateX(2px);
    background: rgba(14,43,82,.06);
}

.mpfm-portal-tab.is-active {
    background: linear-gradient(135deg, var(--mpfm-primary), var(--mpfm-primary-2));
    color: #ffffff;
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 14px 24px rgba(7,26,51,.18);
}

.mpfm-portal-panels {
    min-width: 0;
}

.mpfm-portal-panel {
    display: none;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--mpfm-border);
    border-radius: 30px;
    padding: clamp(20px, 3vw, 32px);
    box-shadow: var(--mpfm-shadow-soft);
}

.mpfm-portal-panel.is-active {
    display: block;
    animation: mpfmSoftEnter .26s ease both;
}

.mpfm-panel-heading {
    max-width: 860px;
    margin: 0 0 20px;
}

.mpfm-panel-heading h3 {
    color: var(--mpfm-primary);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.03;
    letter-spacing: -.05em;
    font-weight: 950;
    margin: 6px 0 10px;
}

.mpfm-panel-heading p:not(.mpfm-eyebrow) {
    color: var(--mpfm-muted);
    margin: 0;
}

.mpfm-shortcut-card {
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mpfm-shortcut-card:hover {
    transform: translateY(-3px);
    border-color: rgba(14,43,82,.22);
    box-shadow: 0 20px 44px rgba(15,23,42,.12);
}

.mpfm-portal-form {
    margin-top: 18px;
}

.mpfm-mini-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0;
}

.mpfm-mini-stat {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid var(--mpfm-border);
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 12px 26px rgba(15,23,42,.06);
}

.mpfm-mini-stat span {
    display: block;
    color: var(--mpfm-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    font-weight: 950;
}

.mpfm-mini-stat strong {
    display: block;
    color: var(--mpfm-primary);
    font-size: 20px;
    margin-top: 8px;
    line-height: 1.2;
}

.mpfm-table-shell {
    margin-top: 18px;
    border: 1px solid var(--mpfm-border);
    border-radius: 22px;
    overflow: hidden;
    background: #ffffff;
}

.mpfm-table-shell h4 {
    color: var(--mpfm-primary);
    margin: 0;
    padding: 16px 18px;
    border-bottom: 1px solid var(--mpfm-border);
    font-weight: 950;
}

.mpfm-table-shell table {
    width: 100%;
    border-collapse: collapse;
}

.mpfm-table-shell th,
.mpfm-table-shell td {
    padding: 13px 16px;
    border-bottom: 1px solid var(--mpfm-border);
    text-align: left;
    color: var(--mpfm-muted);
}

.mpfm-table-shell th {
    color: var(--mpfm-primary);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 950;
    background: #f8fafc;
}

.mpfm-library-grid,
.mpfm-notification-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.mpfm-library-card {
    min-height: 140px;
    border-radius: 24px;
    border: 1px solid var(--mpfm-border);
    background: linear-gradient(135deg, #ffffff, #f8fafc);
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
    padding: 18px;
    display: grid;
    align-content: space-between;
}

.mpfm-library-card span {
    color: var(--mpfm-primary);
    font-weight: 950;
}

.mpfm-library-card strong {
    color: var(--mpfm-accent);
    font-size: 38px;
    line-height: 1;
}

.mpfm-library-card em {
    color: var(--mpfm-muted);
    font-style: normal;
    font-size: 13px;
}

.mpfm-library-card.is-limited {
    opacity: .78;
}

.mpfm-empty-state {
    border-radius: 24px;
    border: 1px dashed rgba(14,43,82,.24);
    background: rgba(248,250,252,.78);
    padding: 26px;
    color: var(--mpfm-muted);
}

.mpfm-empty-state strong {
    display: block;
    color: var(--mpfm-primary);
    font-weight: 950;
    margin-bottom: 6px;
}

.mpfm-toggle-row {
    display: flex;
    gap: 12px;
    align-items: center;
    min-height: 64px;
    border: 1px solid var(--mpfm-border);
    border-radius: 20px;
    padding: 14px 16px;
    background: #ffffff;
    color: var(--mpfm-primary);
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(15,23,42,.05);
}

.mpfm-toggle-row input {
    width: 18px;
    height: 18px;
    accent-color: var(--mpfm-accent);
}

.mpfm-security-form {
    max-width: 680px;
}

@media (max-width: 980px) {
    .mpfm-app-layout {
        grid-template-columns: 1fr;
    }
    .mpfm-portal-nav {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mpfm-library-grid,
    .mpfm-notification-grid,
    .mpfm-mini-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .mpfm-portal-nav,
    .mpfm-library-grid,
    .mpfm-notification-grid,
    .mpfm-mini-stat-grid {
        grid-template-columns: 1fr;
    }
    .mpfm-avatar-wrap,
    .mpfm-avatar-wrap .mpfm-avatar,
    .mpfm-avatar-wrap img.mpfm-avatar {
        width: 86px;
        height: 86px;
    }
}


/* Phase 3.1 premium member header refinements */
.mpfm-button.primary,
.mpfm-tier-apply {
    background:
        linear-gradient(135deg, #0b2344 0%, #123a6a 52%, #1d4f91 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(7, 26, 51, .28), inset 0 1px 0 rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.mpfm-button.primary:hover,
.mpfm-tier-apply:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(7, 26, 51, .34), 0 0 0 4px rgba(18,58,106,.10), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.mpfm-tier-card.featured {
    border-color: rgba(18, 58, 106, .34);
    box-shadow: 0 22px 56px rgba(7, 26, 51, .13);
}

.mpfm-tier-card.featured:before {
    background: linear-gradient(90deg, var(--mpfm-primary), var(--mpfm-primary-2), var(--mpfm-gold));
}

.mpfm-premium-profile-header {
    padding: clamp(24px, 4vw, 38px);
    align-items: center;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 24%),
        radial-gradient(circle at 10% 10%, rgba(214,168,73,.18), transparent 28%),
        linear-gradient(135deg, #071a33 0%, #0e2b52 58%, #071629 100%);
}

.mpfm-premium-profile-header:after {
    content: '';
    position: absolute;
    inset: 12px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.08);
    pointer-events: none;
}

.mpfm-premium-identity {
    min-width: 0;
}

.mpfm-avatar-wrap-large {
    width: 132px;
    height: 132px;
}

.mpfm-avatar-wrap-large .mpfm-avatar,
.mpfm-avatar-wrap-large img.mpfm-avatar,
.mpfm-premium-profile-header .avatar {
    width: 132px !important;
    height: 132px !important;
    border-radius: 50% !important;
    object-fit: cover;
    display: block;
    background: rgba(255,255,255,.92);
    border: 5px solid rgba(255,255,255,.92);
    box-shadow: 0 20px 46px rgba(0,0,0,.26), 0 0 0 1px rgba(255,255,255,.18);
}

.mpfm-avatar-wrap-large .mpfm-verified-dot {
    right: 2px;
    bottom: 2px;
    width: 36px;
    height: 36px;
    font-size: 15px;
}

.mpfm-profile-title-block {
    min-width: min(560px, 100%);
}

.mpfm-profile-title-block h2 {
    font-size: clamp(34px, 4vw, 56px);
    line-height: .98;
    letter-spacing: -.06em;
}

.mpfm-profile-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}

.mpfm-status-pill {
    gap: 8px;
    padding: 7px 12px;
}

.mpfm-status-pill i,
.mpfm-live-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 4px rgba(148,163,184,.16);
    flex: 0 0 auto;
}

.mpfm-status-pill.status-active i,
.mpfm-header-chip-status.status-active .mpfm-live-dot,
.mpfm-status-pill.status-approved i,
.mpfm-header-chip-status.status-approved .mpfm-live-dot {
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34,197,94,.18), 0 0 16px rgba(34,197,94,.75);
    animation: mpfmStatusPulse 1.9s ease-in-out infinite;
}

.mpfm-status-pill.status-pending i,
.mpfm-header-chip-status.status-pending .mpfm-live-dot {
    background: #f59e0b;
    box-shadow: 0 0 0 4px rgba(245,158,11,.18), 0 0 14px rgba(245,158,11,.52);
}

.mpfm-status-pill.status-declined i,
.mpfm-status-pill.status-expired i,
.mpfm-status-pill.status-canceled i,
.mpfm-status-pill.status-revoked i,
.mpfm-header-chip-status.status-declined .mpfm-live-dot,
.mpfm-header-chip-status.status-expired .mpfm-live-dot,
.mpfm-header-chip-status.status-canceled .mpfm-live-dot,
.mpfm-header-chip-status.status-revoked .mpfm-live-dot {
    background: #ef4444;
    box-shadow: 0 0 0 4px rgba(239,68,68,.16), 0 0 14px rgba(239,68,68,.42);
}

.mpfm-profile-completion {
    width: min(420px, 100%);
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.mpfm-completion-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.mpfm-completion-line strong {
    color: #ffffff;
    font-size: 13px;
}

.mpfm-completion-track {
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 9px;
    background: rgba(255,255,255,.16);
}

.mpfm-completion-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #38bdf8, #2563eb, var(--mpfm-gold));
    box-shadow: 0 0 16px rgba(56,189,248,.38);
}

.mpfm-header-control-bar {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 12px;
    min-width: min(560px, 100%);
    padding: 16px;
    border-radius: 30px;
    background: rgba(255,255,255,.105);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 42px rgba(0,0,0,.16);
    backdrop-filter: blur(18px);
}

.mpfm-header-chip {
    min-width: 0;
    border-radius: 20px;
    padding: 13px 15px;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.13);
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 9px;
    align-items: center;
}

.mpfm-header-chip > span:not(.mpfm-live-dot) {
    grid-column: 2;
    display: block;
    color: rgba(255,255,255,.70);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mpfm-header-chip strong {
    grid-column: 2;
    display: block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 950;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.mpfm-header-chip .mpfm-live-dot {
    grid-row: 1 / span 2;
    grid-column: 1;
}

@keyframes mpfmStatusPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(.82); opacity: .78; }
}

@media (max-width: 1120px) {
    .mpfm-premium-profile-header {
        align-items: stretch;
    }
    .mpfm-header-control-bar {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .mpfm-premium-identity {
        align-items: flex-start;
    }
    .mpfm-avatar-wrap-large,
    .mpfm-avatar-wrap-large .mpfm-avatar,
    .mpfm-avatar-wrap-large img.mpfm-avatar,
    .mpfm-premium-profile-header .avatar {
        width: 108px !important;
        height: 108px !important;
    }
    .mpfm-header-control-bar {
        grid-template-columns: 1fr;
        padding: 12px;
        border-radius: 24px;
    }
    .mpfm-profile-title-block h2 {
        font-size: clamp(30px, 11vw, 42px);
    }
}

/* Phase 5 pricing toggle refinement */
.mpfm-billing-switch {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px;
    margin: 8px auto 10px;
    border-radius: 999px;
    background: rgba(8, 26, 51, .07);
    border: 1px solid rgba(8, 26, 51, .10);
}
.mpfm-billing-option {
    appearance: none;
    border: 0;
    cursor: pointer;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 900;
    color: #0b1d35;
    background: transparent;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.mpfm-billing-option:hover { transform: translateY(-1px); }
.mpfm-billing-option.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--mpfm-primary), var(--mpfm-primary-2));
    box-shadow: 0 14px 26px rgba(7, 26, 51, .22);
}
.mpfm-pricing-note {
    text-align: center;
    margin: 0 0 22px;
    color: #52627c;
    font-weight: 700;
}
.mpfm-price-value { display: none; }
.mpfm-price-value.is-active { display: inline; }
.mpfm-dashboard-card > span {
    background: #eaf1ff;
    color: #214a86;
}

/* Phase 5.3 pricing polish: centered billing switch and calmer premium chips */
.mpfm-individual-panel .mpfm-billing-switch {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 12px auto 10px;
    padding: 7px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(244, 248, 255, .96), rgba(232, 239, 250, .94));
    border: 1px solid rgba(33, 74, 134, .18);
    box-shadow: 0 12px 28px rgba(7, 26, 51, .09), inset 0 1px 0 rgba(255,255,255,.82);
}
.mpfm-individual-panel .mpfm-billing-option {
    appearance: none;
    -webkit-appearance: none;
    border: 0 !important;
    cursor: pointer;
    border-radius: 999px;
    padding: 10px 20px;
    font-weight: 950;
    color: #18385f;
    background: transparent;
    line-height: 1;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.mpfm-individual-panel .mpfm-billing-option:hover,
.mpfm-individual-panel .mpfm-billing-option:focus-visible {
    transform: translateY(-1px);
    outline: none;
    box-shadow: 0 0 0 4px rgba(33, 74, 134, .10);
}
.mpfm-individual-panel .mpfm-billing-option.is-active {
    color: #ffffff;
    background: linear-gradient(135deg, #0b2344 0%, #123a6a 55%, #1d4f91 100%);
    box-shadow: 0 14px 26px rgba(7, 26, 51, .24), inset 0 1px 0 rgba(255,255,255,.18);
}
.mpfm-individual-panel .mpfm-pricing-note {
    max-width: 760px;
    margin: 0 auto 24px;
    text-align: center;
    color: #52627c;
    font-weight: 700;
}
.mpfm-tier-topline span,
.mpfm-dashboard-card > span,
.mpfm-dashboard-card span {
    background: linear-gradient(180deg, #eaf1ff, #f5f8ff) !important;
    color: #214a86 !important;
    border: 1px solid rgba(33, 74, 134, .12);
}
.mpfm-eyebrow.dark {
    color: #214a86 !important;
}
.mpfm-tier-card li:before {
    color: #1d4f91 !important;
}
.mpfm-tier-card.featured {
    border-color: rgba(18, 58, 106, .36) !important;
    box-shadow: 0 22px 56px rgba(7, 26, 51, .13) !important;
}
.mpfm-tier-card.featured:before {
    background: linear-gradient(90deg, #0b2344, #1d4f91, #d6a849) !important;
}
.mpfm-review-pill {
    background: linear-gradient(180deg, #f7edcf, #fbf5e6) !important;
    color: #72530a !important;
    border: 1px solid rgba(214,168,73,.28);
}
.mpfm-price-value { display: none; }
.mpfm-price-value.is-active { display: inline; }
@media (max-width: 560px) {
    .mpfm-individual-panel .mpfm-billing-switch {
        width: 100%;
    }
    .mpfm-individual-panel .mpfm-billing-option {
        flex: 1;
        padding: 11px 12px;
    }
}

.mpfm-security-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mpfm-security-form h4 {
    margin: 0 0 8px;
    color: var(--mpfm-primary, #071a33);
    font-size: 1.15rem;
}

.mpfm-security-form p {
    margin: 0 0 16px;
    color: #5d6d85;
}

.mpfm-security-toggle {
    margin-bottom: 16px;
    border: 1px solid rgba(20, 59, 109, 0.16);
    background: rgba(20, 59, 109, 0.045);
    border-radius: 16px;
    padding: 14px 16px;
}

@media (max-width: 860px) {
    .mpfm-security-grid {
        grid-template-columns: 1fr;
    }
}


/* Phase 8 profile-view experience and premium gateway-style portal colors */
.mpfm-member-portal-shell {
    background:
        radial-gradient(circle at 14% 8%, rgba(185, 28, 28, .09), transparent 28%),
        radial-gradient(circle at 86% 3%, rgba(214, 168, 73, .10), transparent 28%),
        linear-gradient(180deg, #f4f7fb 0%, #eef3f9 100%);
}

.mpfm-member-portal-shell .mpfm-premium-profile-header {
    background:
        radial-gradient(circle at 86% 18%, rgba(214,168,73,.24), transparent 24%),
        radial-gradient(circle at 14% 16%, rgba(185,28,28,.22), transparent 28%),
        linear-gradient(135deg, #171b32 0%, #071a33 39%, #0e2b52 68%, #071629 100%) !important;
    border: 1px solid rgba(255,255,255,.17);
    box-shadow: 0 28px 80px rgba(7,26,51,.24);
}

.mpfm-member-portal-shell .mpfm-premium-profile-header:before {
    background:
        linear-gradient(90deg, rgba(255,255,255,.08), transparent 30%, rgba(255,255,255,.05)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.048) 0, rgba(255,255,255,.048) 1px, transparent 1px, transparent 20px),
        radial-gradient(circle at bottom right, rgba(255,255,255,.10), transparent 34%);
    opacity: .72;
}

.mpfm-profile-view[hidden],
.mpfm-profile-edit-shell[hidden] { display: none !important; }

.mpfm-profile-view,
.mpfm-profile-edit-shell.is-active { animation: mpfmSoftEnter .28s ease both; }

.mpfm-profile-showcase {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    border-radius: 30px;
    padding: clamp(22px, 4vw, 34px);
    color: #ffffff;
    background:
        radial-gradient(circle at 82% 10%, rgba(214,168,73,.20), transparent 26%),
        radial-gradient(circle at 12% 22%, rgba(185,28,28,.20), transparent 28%),
        linear-gradient(135deg, #171b32 0%, #071a33 43%, #0e2b52 100%);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 24px 58px rgba(7,26,51,.20);
    margin-bottom: 20px;
}

.mpfm-profile-showcase-bg {
    position: absolute;
    inset: 0;
    opacity: .68;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08), transparent 32%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0, rgba(255,255,255,.045) 1px, transparent 1px, transparent 18px);
    pointer-events: none;
}

.mpfm-profile-showcase-main,
.mpfm-profile-showcase-actions {
    position: relative;
    z-index: 1;
}

.mpfm-profile-showcase-main {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

.mpfm-profile-view-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.mpfm-profile-view-avatar img,
.mpfm-profile-view-avatar .avatar {
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    object-fit: cover;
    display: block;
    background: rgba(255,255,255,.92);
    border: 5px solid rgba(255,255,255,.90);
    box-shadow: 0 20px 48px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.18);
}

.mpfm-profile-showcase h4 {
    margin: 4px 0 6px;
    color: #ffffff;
    font-size: clamp(34px, 4vw, 54px);
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 950;
}

.mpfm-profile-subtitle {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-weight: 800;
}

.mpfm-profile-view-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.mpfm-profile-view-chips span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 11px;
    color: rgba(255,255,255,.90);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    font-size: 12px;
    font-weight: 900;
}

.mpfm-profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.mpfm-profile-summary-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(33,74,134,.13);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 30px rgba(15,23,42,.06);
    min-height: 150px;
}

.mpfm-profile-summary-card.wide { grid-column: span 3; }

.mpfm-profile-summary-card span,
.mpfm-edit-mode-banner span,
.mpfm-form-section-card h4 {
    display: inline-flex;
    margin-bottom: 10px;
    color: #214a86;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mpfm-profile-summary-card p {
    margin: 6px 0 0;
    color: #5d6d85;
}

.mpfm-profile-summary-card a { font-weight: 900; }

.mpfm-edit-mode-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
    padding: 20px;
    border-radius: 26px;
    color: #ffffff;
    background:
        radial-gradient(circle at 80% 10%, rgba(214,168,73,.18), transparent 24%),
        linear-gradient(135deg, #071a33, #123a6a);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 42px rgba(7,26,51,.18);
}

.mpfm-edit-mode-banner span { color: rgba(255,255,255,.78); margin: 0 0 6px; }
.mpfm-edit-mode-banner strong { display: block; color: #fff; font-size: 22px; font-weight: 950; }
.mpfm-edit-mode-banner p { color: rgba(255,255,255,.76); margin: 4px 0 0; }

.mpfm-profile-edit-form {
    display: grid;
    gap: 18px;
}

.mpfm-form-section-card {
    border: 1px solid rgba(33,74,134,.13);
    border-radius: 26px;
    padding: clamp(18px, 3vw, 26px);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 14px 34px rgba(15,23,42,.06);
}

.mpfm-form-section-card h4 {
    margin: 0 0 14px;
}

.mpfm-portal .mpfm-profile-edit-form .mpfm-form-grid input,
.mpfm-portal .mpfm-profile-edit-form .mpfm-form-grid textarea,
.mpfm-portal .mpfm-profile-edit-form .mpfm-form-grid select,
.mpfm-portal .mpfm-security-form .mpfm-form-grid input,
.mpfm-portal .mpfm-security-form .mpfm-form-grid textarea,
.mpfm-portal .mpfm-security-form .mpfm-form-grid select,
.mpfm-portal .mpfm-application-form .mpfm-form-grid input,
.mpfm-portal .mpfm-application-form .mpfm-form-grid textarea,
.mpfm-portal .mpfm-application-form .mpfm-form-grid select {
    min-height: 52px;
    border-radius: 18px;
    padding: 16px 16px;
    font-size: 16px;
}

.mpfm-portal .mpfm-profile-edit-form .mpfm-form-grid textarea,
.mpfm-portal .mpfm-application-form .mpfm-form-grid textarea {
    min-height: 132px;
}

@media (max-width: 980px) {
    .mpfm-profile-showcase,
    .mpfm-edit-mode-banner {
        align-items: flex-start;
        flex-direction: column;
    }
    .mpfm-profile-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mpfm-profile-summary-card.wide { grid-column: span 2; }
}

@media (max-width: 640px) {
    .mpfm-profile-showcase-main {
        align-items: flex-start;
        flex-direction: column;
    }
    .mpfm-profile-view-avatar,
    .mpfm-profile-view-avatar img,
    .mpfm-profile-view-avatar .avatar {
        width: 118px !important;
        height: 118px !important;
    }
    .mpfm-profile-summary-grid,
    .mpfm-profile-summary-card.wide {
        grid-template-columns: 1fr;
        grid-column: auto;
    }
}

/* Phase 9 file/library portal and profile header refinement */
.mpfm-profile-showcase {
    background: #ffffff;
    color: #10243f;
    border: 1px solid rgba(178, 195, 220, .72);
    box-shadow: 0 18px 42px rgba(9, 28, 55, .08);
    min-height: auto;
}
.mpfm-profile-showcase-bg { display: none; }
.mpfm-profile-showcase:before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, #143b6d, #2f75d4);
}
.mpfm-profile-showcase h4 { color: #071a33; }
.mpfm-profile-showcase .mpfm-eyebrow.dark { color: #1c5da8; }
.mpfm-profile-subtitle { color: #52657e; }
.mpfm-profile-view-chips span {
    background: #edf4ff;
    color: #143b6d;
    border-color: rgba(34, 94, 168, .18);
}
.mpfm-file-group-list,
.mpfm-saved-library-sections {
    display: grid;
    gap: 18px;
}
.mpfm-file-group-card,
.mpfm-saved-library-section {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 22px;
    border: 1px solid rgba(180, 197, 222, .72);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 22px 50px rgba(9, 28, 55, .08);
}
.mpfm-file-group-card:before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--group-color, #143b6d), #6aa4ff);
}
.mpfm-file-group-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}
.mpfm-file-group-head > span {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, var(--group-color, #143b6d), #071a33);
    box-shadow: 0 16px 24px rgba(10, 35, 68, .14);
}
.mpfm-file-group-head h4,
.mpfm-saved-library-section h4 {
    margin: 0;
    color: #071a33;
    font-size: 20px;
}
.mpfm-file-group-head p { margin: 4px 0 0; color: #63748a; }
.mpfm-file-list,
.mpfm-saved-library-list { display: grid; gap: 12px; }
.mpfm-file-row,
.mpfm-saved-library-item {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    border-radius: 18px;
    padding: 14px;
    border: 1px solid #e2eaf5;
    background: #fff;
}
.mpfm-file-row strong,
.mpfm-saved-library-item strong {
    display: block;
    color: #0f2745;
    font-size: 15px;
}
.mpfm-file-row span,
.mpfm-saved-library-item span,
.mpfm-file-row em,
.mpfm-saved-library-item em {
    display: block;
    margin-top: 3px;
    color: #6b7c91;
    font-size: 12px;
    font-style: normal;
}
.mpfm-library-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}
.mpfm-button.subtle {
    background: #eef4fb;
    color: #143b6d;
    border: 1px solid #d5e4f7;
}
.mpfm-save-library-form { display: inline-block; margin: 12px 0; }
.mpfm-save-button {
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 11px 17px;
    background: linear-gradient(135deg, #143b6d, #1c5da8);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 14px 24px rgba(20, 59, 109, .22);
    text-decoration: none;
}
.mpfm-save-button.is-saved {
    background: linear-gradient(135deg, #0f766e, #115e59);
}
.mpfm-save-button-login {
    background: #eef4fb;
    color: #143b6d;
    box-shadow: none;
}
@media (max-width: 720px) {
    .mpfm-file-row,
    .mpfm-saved-library-item { align-items: flex-start; flex-direction: column; }
    .mpfm-library-actions { justify-content: flex-start; }
}

/* Phase 10 profile refinement and advisor invitation UI */
.mpfm-profile-tab-clean{padding:0}.mpfm-profile-clean-actions{display:flex;justify-content:flex-end;margin:0 0 18px}.mpfm-profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mpfm-profile-info-card{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(145deg,#fff,#f7fbff);border:1px solid rgba(21,59,109,.13);border-radius:24px;padding:22px;box-shadow:0 18px 45px rgba(7,26,51,.08);min-height:120px}.mpfm-profile-info-card.wide{grid-column:1/-1}.mpfm-profile-info-icon{width:56px;height:56px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#071a33,#143b6d);color:#fff;font-size:24px;box-shadow:0 14px 28px rgba(20,59,109,.18);flex:0 0 56px}.mpfm-profile-info-card em{display:block;font-style:normal;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#65758c;margin:0 0 7px}.mpfm-profile-info-card strong{display:block;color:#071a33;font-size:19px;line-height:1.25}.mpfm-profile-info-card p{margin:6px 0 0;color:#4a5870;line-height:1.65}.mpfm-social-icon-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mpfm-social-icon{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(255,255,255,.34);box-shadow:0 10px 25px rgba(7,26,51,.14);text-decoration:none;color:#143b6d;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.mpfm-social-icon:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(7,26,51,.2);background:#eef6ff}.mpfm-header-social-icons{margin-top:12px}.mpfm-header-social-icons .mpfm-social-icon{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.22);box-shadow:none}.mpfm-header-social-icons .mpfm-social-icon:hover{background:rgba(255,255,255,.22)}.mpfm-profile-social-icons .mpfm-social-icon{border-color:rgba(20,59,109,.15)}.mpfm-profile-image-upload-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;align-items:start}.mpfm-profile-image-preview img,.mpfm-profile-image-preview .avatar{width:110px!important;height:110px!important;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 18px 38px rgba(7,26,51,.18)}.mpfm-custom-link-list{margin-top:14px}.mpfm-custom-link-row{padding-top:12px;border-top:1px solid rgba(21,59,109,.08)}.mpfm-advisor-invitation-body{background:#06162d}.mpfm-advisor-invitation-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 18px;background:radial-gradient(circle at top right,rgba(55,126,217,.38),transparent 42%),linear-gradient(135deg,#071a33,#0d274b 55%,#102f58)}.mpfm-advisor-invitation-card{width:min(760px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.35);border-radius:30px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.mpfm-advisor-invitation-card h1{margin:8px 0 12px;color:#071a33;font-size:34px;line-height:1.1}.mpfm-advisor-invitation-card blockquote{margin:18px 0;padding:18px 20px;border-left:4px solid #143b6d;background:#f3f7fc;border-radius:14px;color:#26384f}@media(max-width:760px){.mpfm-profile-info-grid{grid-template-columns:1fr}.mpfm-profile-image-upload-row{grid-template-columns:1fr}.mpfm-profile-clean-actions{justify-content:stretch}.mpfm-profile-clean-actions .mpfm-button{width:100%;text-align:center}.mpfm-advisor-invitation-card{padding:24px}.mpfm-advisor-invitation-card h1{font-size:28px}}

/* Phase 10.1 portal UX polish */
.mpfm-section-header-card{
    display:flex;
    gap:18px;
    align-items:flex-start;
    background:linear-gradient(145deg,#ffffff,#f6faff);
    border:1px solid rgba(21,59,109,.13);
    border-radius:26px;
    padding:24px;
    box-shadow:0 18px 45px rgba(7,26,51,.08);
    margin:0 0 22px;
}
.mpfm-section-header-icon{
    width:62px;
    height:62px;
    border-radius:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#071a33,#143b6d 55%,#1d5fa8);
    color:#fff;
    font-size:28px;
    line-height:1;
    box-shadow:0 16px 32px rgba(20,59,109,.2);
    flex:0 0 62px;
}
.mpfm-section-header-card h3{
    margin:4px 0 8px;
    color:#071a33;
    font-size:25px;
    line-height:1.15;
}
.mpfm-section-header-card p:not(.mpfm-eyebrow){
    margin:0;
    color:#4a5870;
    line-height:1.65;
}
.mpfm-portal .mpfm-mini-stat,
.mpfm-portal .mpfm-library-card,
.mpfm-portal .mpfm-empty-state,
.mpfm-portal .mpfm-security-form,
.mpfm-portal .mpfm-file-group-card,
.mpfm-portal .mpfm-saved-library-section{
    border:1px solid rgba(21,59,109,.13);
    box-shadow:0 18px 45px rgba(7,26,51,.07);
}
.mpfm-portal .mpfm-notification-grid .mpfm-toggle-row{
    background:linear-gradient(145deg,#fff,#f7fbff);
    border:1px solid rgba(21,59,109,.13);
    border-radius:20px;
    padding:18px 20px;
    box-shadow:0 14px 35px rgba(7,26,51,.06);
}
.mpfm-portal .mpfm-table-shell{
    border:1px solid rgba(21,59,109,.13);
    box-shadow:0 18px 45px rgba(7,26,51,.07);
    border-radius:24px;
    overflow:hidden;
}
.mpfm-portal .mpfm-profile-social-icons .mpfm-social-icon:hover,
.mpfm-portal .mpfm-header-social-icons .mpfm-social-icon:hover,
.mpfm-portal .mpfm-social-icon:hover,
.mpfm-portal a.mpfm-social-icon:hover{
    color:#0b5db8 !important;
    background:#eaf4ff !important;
    border-color:rgba(27,98,178,.28) !important;
}
.mpfm-portal .mpfm-header-social-icons .mpfm-social-icon:hover{
    color:#fff !important;
    background:rgba(37,126,226,.34) !important;
    border-color:rgba(255,255,255,.38) !important;
}
@media(max-width:760px){
    .mpfm-section-header-card{flex-direction:column;padding:20px}
    .mpfm-section-header-icon{width:56px;height:56px;flex-basis:56px;font-size:24px}
    .mpfm-section-header-card h3{font-size:22px}
}

/* Phase 11 payments/subscriptions */
.mpfm-payment-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:24px;align-items:start;margin:24px 0;padding:24px;border-radius:28px;background:linear-gradient(135deg,rgba(7,26,51,.98),rgba(20,59,109,.94));box-shadow:0 24px 60px rgba(7,26,51,.22);color:#fff;overflow:hidden;position:relative}.mpfm-payment-card:before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:999px;background:rgba(67,132,202,.28);filter:blur(2px)}.mpfm-payment-card.subtle{background:linear-gradient(135deg,#f8fbff,#eef5ff);color:#0b1f3a;border:1px solid rgba(20,59,109,.12);box-shadow:0 18px 42px rgba(13,45,85,.12)}.mpfm-payment-card h4{font-size:22px;margin:10px 0}.mpfm-payment-card p{margin:0;color:inherit;opacity:.82}.mpfm-payment-form{display:grid;gap:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:18px;border-radius:22px;backdrop-filter:blur(10px)}.mpfm-payment-card.subtle .mpfm-payment-form{background:#fff;border-color:rgba(20,59,109,.12)}.mpfm-payment-form label{display:grid;gap:6px;font-weight:700}.mpfm-payment-form span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;opacity:.84}.mpfm-payment-form input,.mpfm-payment-form select{min-height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.25);padding:0 14px;background:#fff;color:#0b1f3a;font-weight:700}.mpfm-chip.premium{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:rgba(74,144,226,.18);color:#d9ecff;border:1px solid rgba(167,210,255,.26);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:11px;padding:8px 12px}.mpfm-payment-card.subtle .mpfm-chip.premium{color:#143b6d;background:#e8f2ff;border-color:#cfe2ff}@media(max-width:800px){.mpfm-payment-card{grid-template-columns:1fr}}

/* Phase 11.1 premium advisor invitation acceptance experience */
.mpfm-advisor-invitation-body { margin: 0; background: #06162d; }
.mpfm-advisor-invitation-screen {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 46px 20px;
    background:
        radial-gradient(circle at 10% 10%, rgba(214,168,73,.18), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(52,111,190,.32), transparent 34%),
        linear-gradient(135deg, #06162d, #0b2648 56%, #071a33);
}
.mpfm-advisor-invitation-card {
    position: relative;
    width: min(1060px, 100%);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(270px, .82fr) minmax(0, 1.18fr);
    gap: 0;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.44);
    border-radius: 38px;
    padding: 0;
    box-shadow: 0 40px 110px rgba(0,0,0,.38);
}
.mpfm-advisor-invitation-card:before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0, rgba(255,255,255,.07) 1px, transparent 1px, transparent 18px);
    pointer-events: none;
    opacity: .38;
}
.mpfm-advisor-invite-hero,
.mpfm-advisor-invite-form {
    position: relative;
    z-index: 1;
}
.mpfm-advisor-invite-hero {
    padding: 46px;
    color: #fff;
    background:
        radial-gradient(circle at bottom left, rgba(214,168,73,.24), transparent 32%),
        linear-gradient(145deg, #071a33, #123963 70%, #10284a);
}
.mpfm-advisor-invite-hero .mpfm-eyebrow { color: rgba(255,255,255,.76); }
.mpfm-advisor-invite-hero h1 { color: #fff; font-size: clamp(38px, 5vw, 66px); line-height: .98; margin: 22px 0 18px; letter-spacing: -.05em; }
.mpfm-advisor-invite-hero p { color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.7; }
.mpfm-advisor-secure-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 9px 13px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    font-weight: 900;
    margin-top: 18px;
}
.mpfm-advisor-role-card {
    margin-top: 28px;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
}
.mpfm-advisor-role-card span { display: block; color: #f0c86a; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.mpfm-advisor-role-card strong { display: block; color: #fff; font-size: 26px; margin-top: 8px; }
.mpfm-advisor-invite-form { padding: 42px; }
.mpfm-advisor-invite-form > p { color: #536172; font-size: 16px; line-height: 1.7; margin-top: 0; }
.mpfm-advisor-invite-form blockquote {
    margin: 22px 0;
    padding: 20px 22px;
    border-left: 5px solid #1f5b9c;
    background: linear-gradient(145deg, #f5f9ff, #eef5ff);
    border-radius: 18px;
    color: #26384f;
    font-size: 17px;
}
.mpfm-advisor-accept-form { display: grid; gap: 20px; }
.mpfm-advisor-accept-form .mpfm-form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mpfm-advisor-accept-form label { display: flex; flex-direction: column; gap: 8px; color: #071a33; font-weight: 900; }
.mpfm-advisor-accept-form input,
.mpfm-advisor-accept-form textarea {
    width: 100%;
    border-radius: 18px;
    border: 1px solid #ced9e7;
    min-height: 54px;
    padding: 14px 16px;
    color: #071a33;
    background: #fff;
    box-shadow: 0 1px 0 rgba(7,26,51,.04);
    font-size: 16px;
}
.mpfm-advisor-accept-form textarea { min-height: 130px; resize: vertical; }
.mpfm-advisor-accept-form input:focus,
.mpfm-advisor-accept-form textarea:focus { outline: none; border-color: #1f5b9c; box-shadow: 0 0 0 4px rgba(31,91,156,.12); }
.mpfm-advisor-accept-form .mpfm-confirm-row {
    flex-direction: row;
    align-items: flex-start;
    gap: 14px;
    border-radius: 22px;
    padding: 18px;
    background: #f7fbff;
    border: 1px solid #d8e5f4;
    color: #42536a;
}
.mpfm-advisor-accept-form .mpfm-confirm-row input { width: 20px; height: 20px; min-height: 0; margin-top: 3px; }
.mpfm-advisor-accept-form .mpfm-button.primary { justify-self: start; min-height: 58px; padding: 0 28px; border-radius: 999px; }
@media (max-width: 860px) {
    .mpfm-advisor-invitation-card { grid-template-columns: 1fr; }
    .mpfm-advisor-invite-hero, .mpfm-advisor-invite-form { padding: 30px; }
    .mpfm-advisor-accept-form .mpfm-form-grid.two { grid-template-columns: 1fr; }
}

/* Phase 11.2 advisor invitation command-console experience */
.mpfm-advisor-invitation-body-v2,
.mpfm-advisor-invitation-body-v2 * { box-sizing: border-box; }
.mpfm-advisor-invitation-body-v2 { margin: 0; background: #041226; color: #eaf4ff; }
.mpfm-advisor-console-screen {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: clamp(18px, 4vw, 48px);
    background:
        radial-gradient(circle at 16% 72%, rgba(214,168,73,.17), transparent 18%),
        radial-gradient(circle at 88% 18%, rgba(65,133,224,.34), transparent 28%),
        radial-gradient(circle at 50% 102%, rgba(24,75,132,.46), transparent 38%),
        linear-gradient(137deg, #041226 0%, #071c38 48%, #0b2f5b 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mpfm-advisor-console-screen:before {
    content: '';
    position: absolute;
    inset: -15%;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 24px),
        radial-gradient(ellipse at 18% 84%, rgba(255,255,255,.08), transparent 28%),
        radial-gradient(ellipse at 92% 74%, rgba(255,255,255,.07), transparent 22%);
    opacity: .9;
    pointer-events: none;
}
.mpfm-advisor-console-screen:after {
    content: '';
    position: absolute;
    right: 4vw;
    bottom: -2vh;
    width: 170px;
    height: 460px;
    opacity: .20;
    background: linear-gradient(to top, rgba(255,255,255,.05), rgba(255,255,255,.55));
    clip-path: polygon(48% 0, 55% 0, 64% 100%, 36% 100%);
    filter: blur(.2px);
    pointer-events: none;
}
.mpfm-advisor-orbit {
    position: absolute;
    border: 1px solid rgba(143,191,255,.10);
    border-radius: 50%;
    pointer-events: none;
}
.mpfm-advisor-orbit-one { width: 1100px; height: 1100px; right: -420px; top: -360px; }
.mpfm-advisor-orbit-two { width: 760px; height: 760px; left: -250px; bottom: -300px; }
.mpfm-advisor-console-shell {
    position: relative;
    z-index: 2;
    width: min(1360px, 100%);
    min-height: min(840px, calc(100vh - 60px));
    border-radius: 32px;
    border: 1px solid rgba(164,205,255,.28);
    background:
        linear-gradient(145deg, rgba(18,43,75,.86), rgba(5,19,40,.93)),
        rgba(8,26,51,.88);
    box-shadow: 0 36px 120px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.11);
    overflow: hidden;
    backdrop-filter: blur(18px);
}
.mpfm-advisor-console-shell:before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% -10%, rgba(91,151,235,.22), transparent 30%),
        linear-gradient(90deg, rgba(255,255,255,.04), transparent 28%, rgba(255,255,255,.035));
    pointer-events: none;
}
.mpfm-advisor-console-topbar,
.mpfm-advisor-console-inner,
.mpfm-advisor-console-footer { position: relative; z-index: 1; }
.mpfm-advisor-console-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 32px 18px;
}
.mpfm-advisor-brand-lockup,
.mpfm-advisor-secure-status {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.88);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.mpfm-advisor-mark {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f3c86b;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.mpfm-advisor-secure-status { letter-spacing: 0; text-transform: none; font-weight: 750; color: rgba(232,243,255,.82); }
.mpfm-advisor-secure-status i {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #63d78d;
    box-shadow: 0 0 0 5px rgba(99,215,141,.10), 0 0 18px rgba(99,215,141,.65);
}
.mpfm-advisor-console-inner {
    display: grid;
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
    margin: 0 32px;
    border-radius: 26px;
    border: 1px solid rgba(159,202,255,.18);
    overflow: hidden;
    background: rgba(4,18,38,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.mpfm-advisor-console-brief {
    position: relative;
    min-height: 650px;
    padding: 48px 44px;
    background:
        radial-gradient(circle at 8% 100%, rgba(214,168,73,.17), transparent 24%),
        linear-gradient(155deg, rgba(4,17,38,.92), rgba(13,43,78,.78));
    border-right: 1px solid rgba(159,202,255,.16);
}
.mpfm-advisor-console-brief:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 250px;
    height: 210px;
    opacity: .20;
    background: radial-gradient(ellipse at bottom, rgba(255,255,255,.55), transparent 56%);
    pointer-events: none;
}
.mpfm-advisor-gold-line { display: block; width: 58px; height: 4px; border-radius: 999px; background: #f0c86a; margin-bottom: 22px; }
.mpfm-advisor-console-brief h1 {
    margin: 0 0 22px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.8vw, 64px);
    line-height: 1.02;
    letter-spacing: -.045em;
    text-shadow: 0 18px 46px rgba(0,0,0,.34);
}
.mpfm-advisor-role-pill {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    padding: 12px 18px;
    background: rgba(214,168,73,.10);
    border: 1px solid rgba(240,200,106,.52);
    color: #f3c86b;
    font-size: 19px;
    font-weight: 900;
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.mpfm-advisor-console-brief p { color: rgba(235,244,255,.84); line-height: 1.7; font-size: 15px; margin: 22px 0 0; }
.mpfm-advisor-personal-note {
    margin-top: 22px;
    padding: 16px 18px;
    border-radius: 18px;
    color: rgba(235,244,255,.87);
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    line-height: 1.62;
}
.mpfm-advisor-personal-note span { display: block; color: #f0c86a; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 950; margin-bottom: 7px; }
.mpfm-advisor-brief-divider { display: flex; align-items: center; gap: 18px; margin: 34px 0; color: #f0c86a; }
.mpfm-advisor-brief-divider:before,
.mpfm-advisor-brief-divider:after { content: ''; height: 1px; flex: 1; background: rgba(255,255,255,.16); }
.mpfm-advisor-about-block strong {
    display: block;
    color: rgba(255,255,255,.64);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    margin-bottom: 12px;
}
.mpfm-advisor-token-card {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 36px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
}
.mpfm-advisor-token-card span { color: #f0c86a; }
.mpfm-advisor-token-card strong { display: block; color: rgba(255,255,255,.86); font-size: 13px; }
.mpfm-advisor-token-card small { display: block; margin-top: 6px; color: rgba(235,244,255,.65); font-weight: 800; letter-spacing: .05em; }
.mpfm-advisor-console-workspace { padding: 34px 42px 40px; }
.mpfm-advisor-progress {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    align-items: start;
    margin-bottom: 24px;
    position: relative;
}
.mpfm-advisor-progress:before {
    content: '';
    position: absolute;
    left: 9%;
    right: 9%;
    top: 22px;
    height: 2px;
    background: linear-gradient(90deg, rgba(71,135,229,.72), rgba(255,255,255,.15));
}
.mpfm-advisor-progress button {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 7px;
    border: 0;
    background: transparent;
    color: rgba(235,244,255,.70);
    cursor: pointer;
    padding: 0;
    font: inherit;
}
.mpfm-advisor-progress b {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(10,30,58,.94);
    border: 1px solid rgba(255,255,255,.24);
    color: rgba(255,255,255,.86);
    box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.mpfm-advisor-progress span { font-size: 13px; font-weight: 750; }
.mpfm-advisor-progress button.is-active b,
.mpfm-advisor-progress button.is-complete b {
    border-color: rgba(102,162,255,.95);
    background: linear-gradient(135deg, #1f63d9, #5f95ff);
    box-shadow: 0 0 0 5px rgba(78,139,238,.13), 0 0 32px rgba(78,139,238,.55);
}
.mpfm-advisor-progress button.is-active span,
.mpfm-advisor-progress button.is-complete span { color: #fff; }
.mpfm-advisor-signal-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 26px;
    padding: 11px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(159,202,255,.15);
}
.mpfm-advisor-signal-row span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    color: rgba(235,244,255,.82);
    font-size: 13px;
    font-weight: 800;
    border-right: 1px solid rgba(255,255,255,.11);
}
.mpfm-advisor-signal-row span:last-child { border-right: 0; }
.mpfm-advisor-signal-row i { color: #63d78d; font-style: normal; }
.mpfm-advisor-console-form { margin: 0; }
.mpfm-advisor-flow-panel {
    min-height: 430px;
    padding: 30px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(8,27,55,.86), rgba(6,20,42,.74));
    border: 1px solid rgba(159,202,255,.17);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 22px 60px rgba(0,0,0,.18);
    animation: mpfmAdvisorPanelIn .28s ease both;
}
@keyframes mpfmAdvisorPanelIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.mpfm-advisor-step-kicker {
    color: #f0c86a;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 12px;
}
.mpfm-advisor-flow-panel h2 { color: #fff; font-size: clamp(28px, 3vw, 42px); line-height: 1.05; margin: 0 0 12px; letter-spacing: -.035em; }
.mpfm-advisor-flow-panel p { color: rgba(235,244,255,.76); font-size: 16px; line-height: 1.65; max-width: 760px; }
.mpfm-advisor-metric-grid,
.mpfm-advisor-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.mpfm-advisor-metric-grid div,
.mpfm-advisor-inline-notice,
.mpfm-advisor-final-card {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
}
.mpfm-advisor-metric-grid span { display: block; color: rgba(235,244,255,.56); font-size: 12px; text-transform: uppercase; letter-spacing: .10em; font-weight: 900; margin-bottom: 8px; }
.mpfm-advisor-metric-grid strong,
.mpfm-advisor-final-card strong { color: #fff; font-size: 18px; }
.mpfm-advisor-field-grid label { display: grid; gap: 8px; color: rgba(235,244,255,.92); font-size: 13px; font-weight: 900; }
.mpfm-advisor-field-grid label.wide { grid-column: 1 / -1; }
.mpfm-advisor-field-grid input,
.mpfm-advisor-field-grid textarea {
    width: 100%;
    min-height: 56px;
    border-radius: 14px;
    border: 1px solid rgba(159,202,255,.24);
    background: rgba(2,14,30,.48);
    color: #fff;
    padding: 14px 16px;
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.mpfm-advisor-field-grid textarea { min-height: 112px; resize: vertical; }
.mpfm-advisor-field-grid input::placeholder,
.mpfm-advisor-field-grid textarea::placeholder { color: rgba(235,244,255,.42); }
.mpfm-advisor-field-grid input:focus,
.mpfm-advisor-field-grid textarea:focus {
    outline: none;
    border-color: #68a4ff;
    box-shadow: 0 0 0 4px rgba(82,144,238,.13), 0 0 28px rgba(82,144,238,.10);
}
.mpfm-advisor-field-grid input:disabled { opacity: .82; color: rgba(235,244,255,.72); }
.mpfm-advisor-inline-notice { display: grid; align-content: center; gap: 5px; color: rgba(235,244,255,.80); }
.mpfm-advisor-inline-notice strong { color: #fff; }
.mpfm-advisor-terms-console {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-top: 28px;
    padding: 22px;
    border-radius: 20px;
    border: 1px solid rgba(240,200,106,.62);
    background: linear-gradient(145deg, rgba(240,200,106,.10), rgba(255,255,255,.045));
    color: rgba(235,244,255,.86);
    line-height: 1.65;
    font-weight: 650;
}
.mpfm-advisor-terms-console input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: #2f76f0; margin-top: 3px; }
.mpfm-advisor-terms-console b { display: block; color: #fff; margin-bottom: 2px; }
.mpfm-advisor-final-card { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.mpfm-advisor-final-card > span { color: #f0c86a; font-size: 25px; }
.mpfm-advisor-final-card small { display: block; color: rgba(235,244,255,.62); margin-top: 5px; }
.mpfm-advisor-flow-actions { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.mpfm-advisor-primary-action,
.mpfm-advisor-secondary-action {
    min-height: 58px;
    border-radius: 16px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    font: inherit;
    font-weight: 950;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.mpfm-advisor-primary-action {
    min-width: 250px;
    color: #fff;
    background: linear-gradient(135deg, #1b5dc8, #397ff6 62%, #6ba1ff);
    box-shadow: 0 18px 44px rgba(37,105,222,.35), inset 0 1px 0 rgba(255,255,255,.18);
}
.mpfm-advisor-secondary-action {
    color: rgba(235,244,255,.86);
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.13);
}
.mpfm-advisor-primary-action:hover,
.mpfm-advisor-secondary-action:hover { transform: translateY(-2px); }
.mpfm-advisor-primary-action:hover { box-shadow: 0 24px 58px rgba(37,105,222,.45), inset 0 1px 0 rgba(255,255,255,.22); }
.mpfm-advisor-console-footer {
    display: flex;
    justify-content: center;
    gap: 42px;
    padding: 20px 32px 28px;
    color: rgba(235,244,255,.62);
    font-size: 13px;
}
.mpfm-advisor-console-footer span + span { padding-left: 42px; border-left: 1px solid rgba(255,255,255,.12); }
@media (max-width: 1120px) {
    .mpfm-advisor-console-inner { grid-template-columns: 1fr; }
    .mpfm-advisor-console-brief { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(159,202,255,.16); }
}
@media (max-width: 760px) {
    .mpfm-advisor-console-screen { padding: 14px; align-items: flex-start; }
    .mpfm-advisor-console-shell { border-radius: 24px; min-height: auto; }
    .mpfm-advisor-console-topbar { align-items: flex-start; gap: 16px; flex-direction: column; padding: 22px; }
    .mpfm-advisor-console-inner { margin: 0 14px; border-radius: 22px; }
    .mpfm-advisor-console-brief,
    .mpfm-advisor-console-workspace { padding: 24px; }
    .mpfm-advisor-progress { grid-template-columns: repeat(5, minmax(42px,1fr)); overflow-x: auto; padding-bottom: 8px; }
    .mpfm-advisor-progress span { display: none; }
    .mpfm-advisor-signal-row { grid-template-columns: 1fr; }
    .mpfm-advisor-signal-row span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.10); justify-content: flex-start; padding: 0 10px; }
    .mpfm-advisor-signal-row span:last-child { border-bottom: 0; }
    .mpfm-advisor-flow-panel { padding: 22px; min-height: auto; }
    .mpfm-advisor-metric-grid,
    .mpfm-advisor-field-grid { grid-template-columns: 1fr; }
    .mpfm-advisor-flow-actions { flex-direction: column; align-items: stretch; }
    .mpfm-advisor-primary-action,
    .mpfm-advisor-secondary-action { width: 100%; min-width: 0; }
    .mpfm-advisor-console-footer { flex-direction: column; gap: 10px; align-items: flex-start; }
    .mpfm-advisor-console-footer span + span { padding-left: 0; border-left: 0; }
}

/* Phase 11.3 cinematic advisor invitation console */
.mpfm-advisor-invitation-body-v3,
.mpfm-advisor-invitation-body-v3 * { box-sizing: border-box; }
.mpfm-advisor-invitation-body-v3 { margin: 0; background: #031022; color: #eef6ff; }
.mpfm-advisor-cinema-screen {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 54px);
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 14%, rgba(98,57,122,.30), transparent 24%),
        radial-gradient(circle at 90% 14%, rgba(58,132,226,.28), transparent 32%),
        radial-gradient(circle at 50% 100%, rgba(11,70,126,.52), transparent 42%),
        linear-gradient(138deg, #030d1e 0%, #071832 47%, #0a2d58 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mpfm-advisor-cinema-screen:before {
    content: '';
    position: absolute;
    inset: -18%;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 28px),
        radial-gradient(ellipse at 80% 20%, rgba(102,166,255,.12), transparent 34%),
        radial-gradient(ellipse at 16% 80%, rgba(232,185,89,.09), transparent 28%);
    opacity: .9;
    pointer-events: none;
    animation: mpfm-cinema-drift 18s ease-in-out infinite alternate;
}
.mpfm-advisor-cinema-screen:after {
    content: '';
    position: absolute;
    right: 8vw;
    bottom: -5vh;
    width: 190px;
    height: 500px;
    opacity: .16;
    background: linear-gradient(to top, rgba(255,255,255,.02), rgba(255,255,255,.48));
    clip-path: polygon(48% 0, 56% 0, 66% 100%, 34% 100%);
    pointer-events: none;
}
@keyframes mpfm-cinema-drift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(24px,-18px,0) scale(1.02); } }
.mpfm-cinema-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(150,197,255,.13); pointer-events: none; }
.mpfm-cinema-orb-a { width: 880px; height: 880px; top: -360px; right: -300px; box-shadow: 0 0 110px rgba(64,124,210,.08); }
.mpfm-cinema-orb-b { width: 620px; height: 620px; left: -240px; bottom: -270px; }
.mpfm-advisor-cinema-shell {
    position: relative;
    z-index: 2;
    width: min(1220px, 100%);
    min-height: min(760px, calc(100vh - 72px));
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(165,205,255,.28);
    background:
        linear-gradient(145deg, rgba(16,43,77,.82), rgba(4,16,35,.94)),
        rgba(6,22,45,.88);
    box-shadow: 0 38px 130px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(22px);
}
.mpfm-advisor-cinema-shell:before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 22% -10%, rgba(91,151,235,.22), transparent 26%),
        radial-gradient(circle at 82% 0%, rgba(238,190,91,.09), transparent 24%),
        linear-gradient(90deg, rgba(255,255,255,.045), transparent 32%, rgba(255,255,255,.028));
    pointer-events: none;
}
.mpfm-cinema-topbar,
.mpfm-cinema-headline,
.mpfm-cinema-trust-row,
.mpfm-cinema-console,
.mpfm-cinema-footer,
.mpfm-cinema-success-card { position: relative; z-index: 1; }
.mpfm-cinema-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 28px clamp(24px, 4vw, 48px) 8px; }
.mpfm-cinema-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; font-size: 13px; }
.mpfm-cinema-brand span { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 14px; color: #f1c96f; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); }
.mpfm-cinema-secure { display: inline-flex; align-items: center; gap: 10px; color: rgba(235,244,255,.80); font-weight: 800; }
.mpfm-cinema-secure span { width: 9px; height: 9px; display: inline-block; border-radius: 50%; background: #62d489; box-shadow: 0 0 0 7px rgba(98,212,137,.10), 0 0 22px rgba(98,212,137,.70); }
.mpfm-cinema-headline { text-align: center; padding: clamp(18px, 3vw, 38px) clamp(24px, 5vw, 70px) 20px; }
.mpfm-cinema-headline p { margin: 0 0 13px; color: rgba(255,255,255,.66); text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 950; }
.mpfm-cinema-headline h1 { margin: 0; color: #fff; font-size: clamp(38px, 6vw, 78px); line-height: .95; letter-spacing: -.065em; text-shadow: 0 18px 48px rgba(0,0,0,.36); }
.mpfm-cinema-role { display: inline-flex; align-items: center; gap: 10px; width: max-content; max-width: 100%; margin: 20px auto 0; padding: 11px 18px; border-radius: 999px; color: #f1c96f; background: rgba(240,201,111,.10); border: 1px solid rgba(240,201,111,.46); font-weight: 950; box-shadow: 0 18px 42px rgba(0,0,0,.20); }
.mpfm-cinema-trust-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 0 clamp(22px, 4vw, 50px) 22px; }
.mpfm-cinema-trust-row span { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 13px; border-radius: 999px; color: rgba(237,247,255,.85); background: rgba(255,255,255,.065); border: 1px solid rgba(160,204,255,.14); font-size: 13px; font-weight: 800; }
.mpfm-cinema-trust-row i { color: #78dc99; font-style: normal; }
.mpfm-cinema-console { width: min(980px, calc(100% - 52px)); margin: 0 auto 22px; padding: clamp(18px, 3vw, 30px); border-radius: 28px; background: rgba(3,15,33,.48); border: 1px solid rgba(160,204,255,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 28px 80px rgba(0,0,0,.26); }
.mpfm-cinema-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; }
.mpfm-cinema-progress button { position: relative; display: grid; justify-items: center; gap: 8px; border: 0; background: transparent; color: rgba(236,246,255,.70); cursor: pointer; font: inherit; padding: 0; }
.mpfm-cinema-progress button:before { content: ''; position: absolute; top: 21px; left: -50%; width: 100%; height: 2px; background: rgba(255,255,255,.14); z-index: -1; }
.mpfm-cinema-progress button:first-child:before { display: none; }
.mpfm-cinema-progress b { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: rgba(236,246,255,.86); border: 1px solid rgba(160,204,255,.28); background: rgba(255,255,255,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.mpfm-cinema-progress span { font-size: 12px; font-weight: 850; line-height: 1.25; }
.mpfm-cinema-progress button.is-active b { color: #fff; background: linear-gradient(135deg,#2f74ff,#59a2ff); border-color: rgba(143,197,255,.88); box-shadow: 0 0 0 7px rgba(70,139,255,.13), 0 0 32px rgba(83,151,255,.55); }
.mpfm-cinema-progress button.is-complete b { color: #06162d; background: linear-gradient(135deg,#79dda0,#d6f7e0); border-color: rgba(119,222,157,.9); }
.mpfm-advisor-cinema-form { margin: 0; }
.mpfm-cinema-panel { min-height: 330px; padding: clamp(22px, 4vw, 40px); border-radius: 24px; background: linear-gradient(150deg, rgba(255,255,255,.075), rgba(255,255,255,.035)); border: 1px solid rgba(160,204,255,.16); animation: mpfm-cinema-panel-in .32s ease both; }
@keyframes mpfm-cinema-panel-in { from { opacity: 0; transform: translateY(10px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }
.mpfm-cinema-step-label { display: inline-flex; color: #f1c96f; text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 950; margin-bottom: 14px; }
.mpfm-cinema-panel h2 { margin: 0 0 12px; color: #fff; font-size: clamp(30px, 4vw, 50px); line-height: 1; letter-spacing: -.05em; }
.mpfm-cinema-panel p { color: rgba(237,247,255,.78); font-size: 16px; line-height: 1.7; max-width: 820px; }
.mpfm-cinema-note { margin: 22px 0; padding: 18px 20px; border-radius: 18px; color: rgba(237,247,255,.84); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); line-height: 1.65; }
.mpfm-cinema-note strong { display: block; margin-bottom: 6px; color: #f1c96f; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }
.mpfm-cinema-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.mpfm-cinema-metrics div,
.mpfm-cinema-inline,
.mpfm-cinema-final-card { border-radius: 18px; padding: 18px; background: rgba(255,255,255,.065); border: 1px solid rgba(160,204,255,.14); }
.mpfm-cinema-metrics em { display: block; font-style: normal; color: rgba(237,247,255,.55); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 950; margin-bottom: 7px; }
.mpfm-cinema-metrics strong { color: #fff; font-size: 16px; }
.mpfm-cinema-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.mpfm-cinema-grid label { display: grid; gap: 8px; color: rgba(237,247,255,.88); font-weight: 900; }
.mpfm-cinema-grid label.wide,
.mpfm-cinema-inline.wide { grid-column: 1 / -1; }
.mpfm-cinema-grid label span { font-size: 13px; }
.mpfm-cinema-grid input,
.mpfm-cinema-grid textarea { width: 100%; min-height: 54px; border-radius: 16px; padding: 15px 16px; color: #fff; background: rgba(3,13,29,.58); border: 1px solid rgba(160,204,255,.22); outline: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); font: inherit; }
.mpfm-cinema-grid textarea { resize: vertical; min-height: 128px; }
.mpfm-cinema-grid input:focus,
.mpfm-cinema-grid textarea:focus { border-color: rgba(105,170,255,.78); box-shadow: 0 0 0 4px rgba(70,139,255,.13); }
.mpfm-cinema-grid input:disabled { opacity: .86; color: rgba(237,247,255,.74); }
.mpfm-cinema-grid ::placeholder { color: rgba(237,247,255,.42); }
.mpfm-cinema-inline strong { display: block; color: #fff; margin-bottom: 6px; }
.mpfm-cinema-inline span { color: rgba(237,247,255,.70); }
.mpfm-cinema-terms-card { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 18px; align-items: start; padding: 24px; border-radius: 22px; background: rgba(240,201,111,.08); border: 1px solid rgba(240,201,111,.42); margin-top: 24px; }
.mpfm-cinema-terms-card > span { width: 50px; height: 50px; border-radius: 18px; display: grid; place-items: center; color: #f1c96f; background: rgba(240,201,111,.12); border: 1px solid rgba(240,201,111,.35); }
.mpfm-cinema-terms-card label { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; color: rgba(237,247,255,.86); cursor: pointer; }
.mpfm-cinema-terms-card input { margin-top: 3px; width: 18px; height: 18px; accent-color: #2f74ff; }
.mpfm-cinema-terms-card b { display: block; color: #fff; font-size: 17px; margin-bottom: 8px; }
.mpfm-cinema-terms-card small { display: block; color: rgba(237,247,255,.72); line-height: 1.62; font-size: 14px; }
.mpfm-cinema-final-card { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.mpfm-cinema-final-card > span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 18px; color: #f1c96f; background: rgba(240,201,111,.12); }
.mpfm-cinema-final-card strong { color: #fff; display: block; font-size: 19px; }
.mpfm-cinema-final-card small { color: rgba(237,247,255,.65); display: block; margin-top: 4px; }
.mpfm-cinema-actions { display: flex; gap: 14px; align-items: center; justify-content: flex-start; margin-top: 28px; }
.mpfm-cinema-primary,
.mpfm-cinema-secondary { min-height: 58px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 26px; font-weight: 950; font-size: 15px; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mpfm-cinema-primary { border: 1px solid rgba(138,194,255,.44); color: #fff; background: linear-gradient(135deg,#154c8c,#2e73ea 56%,#5598ff); box-shadow: 0 24px 54px rgba(25,92,178,.34), inset 0 1px 0 rgba(255,255,255,.24); }
.mpfm-cinema-primary:hover { transform: translateY(-2px); box-shadow: 0 30px 70px rgba(25,92,178,.42); }
.mpfm-cinema-secondary { border: 1px solid rgba(160,204,255,.18); color: rgba(237,247,255,.86); background: rgba(255,255,255,.06); }
.mpfm-cinema-secondary:hover { transform: translateY(-1px); border-color: rgba(160,204,255,.34); }
.mpfm-cinema-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; padding: 0 clamp(24px, 4vw, 48px) 30px; color: rgba(237,247,255,.58); font-size: 13px; font-weight: 750; }
.mpfm-cinema-footer span:before { content: '◈'; color: #f1c96f; margin-right: 8px; }
.mpfm-advisor-success-screen { text-align: center; }
.mpfm-advisor-success-shell { width: min(900px, 100%); min-height: auto; }
.mpfm-cinema-success-card { padding: clamp(40px, 6vw, 80px); }
.mpfm-cinema-success-icon { width: 84px; height: 84px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: #071a33; background: linear-gradient(135deg,#83e4a4,#e9fff0); box-shadow: 0 0 0 12px rgba(128,226,164,.10), 0 22px 60px rgba(0,0,0,.24); font-size: 36px; font-weight: 950; }
.mpfm-cinema-success-card > p:first-of-type { margin: 0 0 12px; text-transform: uppercase; letter-spacing: .18em; color: #f1c96f; font-weight: 950; }
.mpfm-cinema-success-card h1 { margin: 0; color: #fff; font-size: clamp(38px, 6vw, 70px); letter-spacing: -.06em; }
.mpfm-cinema-success-message { max-width: 660px; margin: 24px auto 28px; color: rgba(237,247,255,.78); font-size: 17px; line-height: 1.7; }
.mpfm-cinema-field-error { display: block; margin-top: 8px; color: #f4ce78; font-size: 13px; font-weight: 800; }
@media (max-width: 900px) {
    .mpfm-advisor-cinema-shell { min-height: auto; border-radius: 24px; }
    .mpfm-cinema-topbar { flex-direction: column; align-items: flex-start; }
    .mpfm-cinema-console { width: calc(100% - 28px); padding: 18px; }
    .mpfm-cinema-progress { overflow-x: auto; grid-template-columns: repeat(5, minmax(110px,1fr)); padding-bottom: 6px; }
    .mpfm-cinema-metrics,
    .mpfm-cinema-grid { grid-template-columns: 1fr; }
    .mpfm-cinema-panel { padding: 22px; min-height: auto; }
    .mpfm-cinema-actions { flex-direction: column; align-items: stretch; }
    .mpfm-cinema-primary,.mpfm-cinema-secondary { width: 100%; }
}

/* Phase 11.4 refined advisor invitation gateway: mobile-first, no red, no profile-build step */
.mpfm-advisor-invitation-body-v4,
.mpfm-advisor-invitation-body-v4 * { box-sizing: border-box; }
.mpfm-advisor-invitation-body-v4 { margin: 0; background: #06162d; color: #f4f8ff; }
.mpfm-advisor-gateway-screen {
    min-height: 100vh;
    padding: clamp(18px, 3vw, 42px);
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 12% 10%, rgba(255,255,255,.06), transparent 18%),
        radial-gradient(circle at 80% 8%, rgba(87,145,217,.20), transparent 30%),
        radial-gradient(circle at 22% 28%, rgba(109,70,113,.14), transparent 24%),
        linear-gradient(134deg, #061327 0%, #092649 52%, #05111f 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    position: relative;
    overflow: hidden;
}
.mpfm-advisor-gateway-screen:before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0, rgba(255,255,255,.045) 1px, transparent 1px, transparent 28px),
        linear-gradient(90deg, rgba(255,255,255,.04), transparent 40%, rgba(255,255,255,.025));
    opacity: .72;
    pointer-events: none;
}
.mpfm-advisor-gateway-shell {
    width: min(1320px, 100%);
    min-height: min(760px, calc(100vh - 56px));
    border-radius: 34px;
    border: 1px solid rgba(183,214,255,.28);
    background:
        radial-gradient(circle at 0 0, rgba(92,146,214,.16), transparent 26%),
        linear-gradient(138deg, rgba(11,37,70,.92), rgba(5,18,36,.96));
    box-shadow: 0 36px 120px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.11);
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.mpfm-advisor-gateway-topbar {
    min-height: 86px;
    padding: 22px clamp(26px, 4vw, 50px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid rgba(183,214,255,.14);
}
.mpfm-advisor-gateway-brand { display: inline-flex; align-items: center; gap: 14px; color: #fff; text-transform: uppercase; letter-spacing: .18em; font-weight: 950; font-size: 14px; }
.mpfm-advisor-gateway-brand img { width: 54px; height: 54px; object-fit: contain; border-radius: 16px; background: rgba(255,255,255,.08); padding: 5px; border: 1px solid rgba(255,255,255,.16); }
.mpfm-advisor-gateway-mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; color: #f2c96b; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); font-size: 24px; }
.mpfm-advisor-gateway-secure { display: inline-flex; align-items: center; gap: 8px; color: rgba(242,248,255,.78); font-size: 13px; font-weight: 850; }
.mpfm-advisor-gateway-layout { display: grid; grid-template-columns: minmax(260px, 360px) minmax(0, 1fr); min-height: calc(100% - 86px); }
.mpfm-advisor-gateway-side {
    padding: clamp(30px, 5vw, 58px);
    border-right: 1px solid rgba(183,214,255,.14);
    background: linear-gradient(155deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
}
.mpfm-advisor-gateway-eyebrow,
.mpfm-advisor-gateway-step-label { margin: 0 0 16px; color: #f2c96b; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 950; }
.mpfm-advisor-gateway-side h1 { margin: 0 0 20px; color: #fff; font-size: clamp(34px, 4vw, 54px); line-height: 1.03; letter-spacing: -.055em; }
.mpfm-advisor-gateway-side p { color: rgba(242,248,255,.76); font-size: 16px; line-height: 1.72; margin: 0 0 24px; }
.mpfm-advisor-gateway-role { display: inline-flex; align-items: center; gap: 10px; color: #f2c96b; background: rgba(242,201,107,.10); border: 1px solid rgba(242,201,107,.42); border-radius: 999px; padding: 11px 16px; font-weight: 950; margin: 0 0 24px; }
.mpfm-advisor-gateway-points { display: grid; gap: 18px; margin-top: 18px; }
.mpfm-advisor-gateway-points div { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; align-items: start; }
.mpfm-advisor-gateway-points div > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 15px; color: #d9ebff; background: rgba(255,255,255,.075); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-gateway-points strong { display: block; color: #fff; font-size: 15px; }
.mpfm-advisor-gateway-points small { display: block; color: rgba(242,248,255,.62); line-height: 1.52; margin-top: 3px; }
.mpfm-advisor-gateway-id { margin-top: 30px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.055); border: 1px solid rgba(183,214,255,.14); }
.mpfm-advisor-gateway-id em { display: block; font-style: normal; color: rgba(242,248,255,.54); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 950; margin-bottom: 6px; }
.mpfm-advisor-gateway-id strong { color: #fff; letter-spacing: .02em; }
.mpfm-advisor-gateway-main { padding: clamp(28px, 4vw, 54px); }
.mpfm-advisor-gateway-progress { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 28px; }
.mpfm-advisor-gateway-progress button { position: relative; display: grid; justify-items: center; gap: 8px; padding: 0; color: rgba(242,248,255,.65); background: transparent; border: 0; cursor: pointer; font: inherit; }
.mpfm-advisor-gateway-progress button:before { content: ''; position: absolute; top: 20px; left: -50%; width: 100%; height: 2px; background: rgba(255,255,255,.16); z-index: -1; }
.mpfm-advisor-gateway-progress button:first-child:before { display: none; }
.mpfm-advisor-gateway-progress b { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.055); border: 1px solid rgba(183,214,255,.28); color: rgba(242,248,255,.86); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.mpfm-advisor-gateway-progress span { font-size: 12px; font-weight: 850; text-align: center; line-height: 1.25; }
.mpfm-advisor-gateway-progress button.is-active b { color: #07172b; background: linear-gradient(135deg,#f2c96b,#ffe7a9); border-color: rgba(255,231,169,.82); box-shadow: 0 0 0 7px rgba(242,201,107,.13), 0 18px 42px rgba(0,0,0,.25); }
.mpfm-advisor-gateway-progress button.is-complete b { color: #fff; background: linear-gradient(135deg,#154c8c,#377eea); border-color: rgba(129,190,255,.82); }
.mpfm-advisor-console-workspace { border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)); border: 1px solid rgba(183,214,255,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 74px rgba(0,0,0,.24); }
.mpfm-advisor-gateway-form { margin: 0; }
.mpfm-advisor-gateway-panel { min-height: 430px; padding: clamp(24px, 4vw, 44px); animation: mpfm-advisor-gateway-panel-in .26s ease both; }
@keyframes mpfm-advisor-gateway-panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.mpfm-advisor-gateway-panel h2 { margin: 0 0 14px; color: #fff; font-size: clamp(32px, 4.7vw, 56px); line-height: 1; letter-spacing: -.055em; }
.mpfm-advisor-gateway-panel p { margin: 0 0 24px; max-width: 760px; color: rgba(242,248,255,.78); line-height: 1.65; font-size: 16px; }
.mpfm-advisor-personal-note { margin: 18px 0 24px; padding: 17px 18px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-personal-note strong { display: block; color: #f2c96b; text-transform: uppercase; letter-spacing: .13em; font-size: 11px; margin-bottom: 6px; }
.mpfm-advisor-personal-note span { color: rgba(242,248,255,.82); line-height: 1.6; }
.mpfm-advisor-gateway-detail-list { display: grid; gap: 0; margin: 24px 0; border-radius: 22px; overflow: hidden; background: rgba(4,18,38,.38); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-gateway-detail-list div { display: grid; grid-template-columns: 48px 170px minmax(0,1fr); align-items: center; gap: 14px; min-height: 72px; padding: 12px 18px; border-bottom: 1px solid rgba(183,214,255,.12); }
.mpfm-advisor-gateway-detail-list div:last-child { border-bottom: 0; }
.mpfm-advisor-gateway-detail-list i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 14px; color: #d9ebff; font-style: normal; background: rgba(255,255,255,.075); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-gateway-detail-list span { color: rgba(242,248,255,.72); font-size: 13px; font-weight: 850; }
.mpfm-advisor-gateway-detail-list strong { color: #fff; font-size: 15px; overflow-wrap: anywhere; }
.mpfm-advisor-gateway-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.mpfm-advisor-gateway-fields label { display: grid; gap: 8px; color: rgba(242,248,255,.90); font-weight: 900; }
.mpfm-advisor-gateway-fields label span { font-size: 13px; }
.mpfm-advisor-gateway-fields input { width: 100%; min-height: 58px; border-radius: 17px; padding: 16px 18px; border: 1px solid rgba(183,214,255,.25); background: rgba(4,18,38,.52); color: #fff; font: inherit; outline: none; }
.mpfm-advisor-gateway-fields input:focus { border-color: rgba(129,190,255,.82); box-shadow: 0 0 0 4px rgba(55,126,234,.14); }
.mpfm-advisor-gateway-fields input:disabled { opacity: .86; color: rgba(242,248,255,.76); }
.mpfm-advisor-gateway-fields ::placeholder { color: rgba(242,248,255,.40); }
.mpfm-advisor-gateway-inline.wide { grid-column: 1/-1; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-gateway-inline strong { display: block; color: #fff; margin-bottom: 6px; }
.mpfm-advisor-gateway-inline span { color: rgba(242,248,255,.70); }
.mpfm-advisor-gateway-terms { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 18px; align-items: start; padding: 24px; border-radius: 24px; margin-top: 24px; background: rgba(242,201,107,.08); border: 1px solid rgba(242,201,107,.35); }
.mpfm-advisor-gateway-terms > span { width: 52px; height: 52px; display: grid; place-items: center; color: #f2c96b; border-radius: 18px; background: rgba(242,201,107,.10); border: 1px solid rgba(242,201,107,.30); }
.mpfm-advisor-gateway-terms label { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; cursor: pointer; color: rgba(242,248,255,.86); }
.mpfm-advisor-gateway-terms input { width: 20px; height: 20px; margin-top: 3px; accent-color: #377eea; }
.mpfm-advisor-gateway-terms b { display: block; color: #fff; font-size: 17px; margin-bottom: 8px; }
.mpfm-advisor-gateway-terms small { display: block; color: rgba(242,248,255,.72); line-height: 1.62; }
.mpfm-advisor-gateway-final { display: flex; align-items: center; gap: 16px; margin-top: 26px; padding: 20px; border-radius: 22px; background: rgba(255,255,255,.065); border: 1px solid rgba(183,214,255,.16); }
.mpfm-advisor-gateway-final > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; color: #07172b; background: linear-gradient(135deg,#83e4a4,#eafff1); font-weight: 950; }
.mpfm-advisor-gateway-final strong { display: block; color: #fff; font-size: 18px; }
.mpfm-advisor-gateway-final small { display: block; color: rgba(242,248,255,.66); margin-top: 4px; }
.mpfm-advisor-gateway-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.mpfm-advisor-gateway-primary,
.mpfm-advisor-gateway-secondary { min-height: 60px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 28px; border-radius: 18px; font-weight: 950; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mpfm-advisor-gateway-primary { color: #fff; border: 1px solid rgba(129,190,255,.52); background: linear-gradient(135deg,#154c8c,#2e73ea 56%,#5598ff); box-shadow: 0 23px 54px rgba(25,92,178,.32), inset 0 1px 0 rgba(255,255,255,.22); }
.mpfm-advisor-gateway-primary:hover { transform: translateY(-2px); box-shadow: 0 32px 72px rgba(25,92,178,.40); }
.mpfm-advisor-gateway-secondary { color: rgba(242,248,255,.86); border: 1px solid rgba(183,214,255,.18); background: rgba(255,255,255,.065); }
.mpfm-advisor-gateway-secondary:hover { transform: translateY(-1px); border-color: rgba(183,214,255,.34); }
.mpfm-cinema-field-error { color: #f2c96b; font-size: 13px; font-weight: 850; margin-top: 7px; }
@media (max-width: 980px) {
    .mpfm-advisor-gateway-screen { padding: 14px; align-items: stretch; }
    .mpfm-advisor-gateway-shell { min-height: calc(100vh - 28px); border-radius: 28px; }
    .mpfm-advisor-gateway-layout { grid-template-columns: 1fr; }
    .mpfm-advisor-gateway-side { border-right: 0; border-bottom: 1px solid rgba(183,214,255,.14); padding: 28px; }
    .mpfm-advisor-gateway-side h1 { font-size: 34px; }
    .mpfm-advisor-gateway-points { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .mpfm-advisor-gateway-main { padding: 26px; }
}
@media (max-width: 720px) {
    .mpfm-advisor-gateway-screen { padding: 0; display: block; min-height: 100vh; overflow: visible; }
    .mpfm-advisor-gateway-shell { width: 100%; min-height: 100vh; border-radius: 0; border-left: 0; border-right: 0; }
    .mpfm-advisor-gateway-topbar { padding: 18px 18px; min-height: 74px; }
    .mpfm-advisor-gateway-brand { letter-spacing: .13em; font-size: 12px; }
    .mpfm-advisor-gateway-brand img { width: 42px; height: 42px; }
    .mpfm-advisor-gateway-secure { font-size: 12px; }
    .mpfm-advisor-gateway-side { padding: 24px 18px 18px; }
    .mpfm-advisor-gateway-side p { font-size: 14px; }
    .mpfm-advisor-gateway-points { grid-template-columns: 1fr; gap: 12px; }
    .mpfm-advisor-gateway-points div:nth-child(n+3) { display: none; }
    .mpfm-advisor-gateway-id { margin-top: 16px; }
    .mpfm-advisor-gateway-main { padding: 18px; }
    .mpfm-advisor-gateway-progress { grid-template-columns: repeat(4, minmax(62px,1fr)); gap: 4px; margin-bottom: 16px; }
    .mpfm-advisor-gateway-progress b { width: 34px; height: 34px; font-size: 13px; }
    .mpfm-advisor-gateway-progress button:before { top: 17px; }
    .mpfm-advisor-gateway-progress span { font-size: 10px; }
    .mpfm-advisor-console-workspace { border-radius: 24px; }
    .mpfm-advisor-gateway-panel { min-height: auto; padding: 22px 16px; }
    .mpfm-advisor-gateway-panel h2 { font-size: 31px; }
    .mpfm-advisor-gateway-detail-list div { grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }
    .mpfm-advisor-gateway-detail-list div strong { grid-column: 2; }
    .mpfm-advisor-gateway-fields { grid-template-columns: 1fr; }
    .mpfm-advisor-gateway-terms { grid-template-columns: 1fr; padding: 18px; }
    .mpfm-advisor-gateway-terms > span { display: none; }
    .mpfm-advisor-gateway-actions { flex-direction: column; }
    .mpfm-advisor-gateway-primary,.mpfm-advisor-gateway-secondary { width: 100%; }
}


/* Phase 11.5 advisor invitation correction: one-step console, gateway-inspired background, mobile full width */
.mpfm-advisor-invitation-body-v4 {
    background: #071a33 !important;
}
.mpfm-advisor-gateway-screen {
    background:
        radial-gradient(circle at 82% 12%, rgba(214, 168, 73, .22), transparent 28%),
        radial-gradient(circle at 16% 20%, rgba(95, 55, 92, .28), transparent 28%),
        linear-gradient(135deg, #071a33, #0e2b52 54%, #061526) !important;
}
.mpfm-advisor-gateway-screen:before {
    opacity: .62 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.10), transparent 26%, rgba(255,255,255,.05)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.055) 0, rgba(255,255,255,.055) 1px, transparent 1px, transparent 20px),
        radial-gradient(circle at bottom center, rgba(255,255,255,.11), transparent 34%) !important;
}
.mpfm-advisor-gateway-screen:after {
    content: '';
    position: absolute;
    width: 440px;
    height: 440px;
    right: -180px;
    bottom: -210px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 70px rgba(255,255,255,.08);
    pointer-events: none;
}
.mpfm-advisor-gateway-shell {
    background:
        radial-gradient(circle at 0 0, rgba(255,255,255,.09), transparent 28%),
        linear-gradient(138deg, rgba(11,37,70,.84), rgba(5,18,36,.90)) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 30px 95px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.mpfm-advisor-gateway-side {
    background: linear-gradient(155deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
}
.mpfm-advisor-console-workspace {
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(255,255,255,.19) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.mpfm-advisor-gateway-panel[hidden],
.mpfm-advisor-gateway-panel:not(.is-active) {
    display: none !important;
}
.mpfm-advisor-gateway-panel.is-active {
    display: block !important;
}
.mpfm-advisor-gateway-progress button.is-active b {
    color: #07172b !important;
    background: linear-gradient(135deg,#d6a849,#ffe3a0) !important;
    border-color: rgba(255,231,169,.82) !important;
}
.mpfm-advisor-gateway-progress button.is-complete b {
    color: #fff !important;
    background: linear-gradient(135deg,#154c8c,#377eea) !important;
}
.mpfm-advisor-gateway-fields input,
.mpfm-advisor-gateway-fields input:disabled {
    background: rgba(6, 22, 45, .72) !important;
    color: #f4f8ff !important;
    -webkit-text-fill-color: #f4f8ff !important;
    opacity: 1 !important;
}
.mpfm-advisor-gateway-terms label b,
.mpfm-advisor-gateway-terms label small {
    grid-column: 2;
}
.mpfm-advisor-gateway-terms small {
    overflow-wrap: normal !important;
    word-break: normal !important;
    max-width: 100%;
}
.mpfm-advisor-gateway-primary {
    background: linear-gradient(135deg,#154c8c,#2e73ea 56%,#5598ff) !important;
    color: #fff !important;
}
.mpfm-advisor-gateway-primary:hover {
    color: #fff !important;
}
@media (max-width: 900px) {
    .mpfm-advisor-gateway-screen { padding: 0 !important; align-items: stretch !important; justify-content: stretch !important; overflow: visible !important; }
    .mpfm-advisor-gateway-shell { width: 100% !important; min-height: 100vh !important; border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
    .mpfm-advisor-gateway-layout { display: block !important; }
    .mpfm-advisor-gateway-side { padding: 22px 18px !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.13) !important; }
    .mpfm-advisor-gateway-side h1 { font-size: 30px !important; max-width: 560px; }
    .mpfm-advisor-gateway-side p { font-size: 14px !important; max-width: 620px; }
    .mpfm-advisor-gateway-points { grid-template-columns: 1fr !important; gap: 12px !important; }
    .mpfm-advisor-gateway-points div:nth-child(n+3) { display: none !important; }
    .mpfm-advisor-gateway-main { padding: 18px !important; }
    .mpfm-advisor-gateway-progress { grid-template-columns: repeat(4, minmax(54px,1fr)) !important; gap: 4px !important; margin-bottom: 16px !important; }
    .mpfm-advisor-gateway-progress span { font-size: 10px !important; }
    .mpfm-advisor-gateway-panel { min-height: auto !important; padding: 20px 16px !important; }
    .mpfm-advisor-gateway-panel h2 { font-size: 30px !important; }
    .mpfm-advisor-gateway-detail-list div { grid-template-columns: 42px 1fr !important; }
    .mpfm-advisor-gateway-detail-list div strong { grid-column: 2 !important; }
    .mpfm-advisor-gateway-fields { grid-template-columns: 1fr !important; }
    .mpfm-advisor-gateway-actions { flex-direction: column !important; }
    .mpfm-advisor-gateway-primary,
    .mpfm-advisor-gateway-secondary { width: 100% !important; }
}


/* Phase 11.6 advisor invitation sidebar refinement */
.mpfm-advisor-gateway-side {
    min-width: 270px;
}
.mpfm-advisor-gateway-side > p:not(.mpfm-advisor-gateway-eyebrow):not(.mpfm-advisor-gateway-subtitle) {
    display: none !important;
}
.mpfm-advisor-gateway-side h1 {
    font-size: clamp(2.05rem, 3vw, 3.55rem);
    line-height: .96;
    margin-bottom: 22px;
}
.mpfm-advisor-gateway-subtitle {
    display: block !important;
    color: rgba(255,255,255,.76) !important;
    line-height: 1.55 !important;
    font-size: .98rem !important;
    max-width: 28ch;
    margin: 14px 0 24px !important;
}
.mpfm-advisor-gateway-points.compact {
    gap: 12px;
    margin-top: 24px;
}
.mpfm-advisor-gateway-points.compact div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.mpfm-advisor-gateway-points.compact small { display: none !important; }
.mpfm-advisor-gateway-id small {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.68);
    font-size: .74rem;
    line-height: 1.35;
}
.mpfm-advisor-main-role {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 16px;
    border: 1px solid rgba(246, 199, 91, .35);
    border-radius: 18px;
    background: rgba(246, 199, 91, .08);
    color: #fff;
    margin: 10px 0 12px;
}
.mpfm-advisor-main-role strong {
    color: #f6d06a;
    font-size: .86rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.mpfm-advisor-main-role span {
    color: rgba(255,255,255,.78);
    font-size: .92rem;
    line-height: 1.45;
}
@media (max-width: 900px) {
    .mpfm-advisor-gateway-layout { grid-template-columns: 1fr !important; }
    .mpfm-advisor-gateway-side { min-width: 0; }
    .mpfm-advisor-gateway-subtitle { max-width: none; }
}

/* Phase 11.7 advisor invitation desktop viewport containment fix */
@media (min-width: 981px) {
    .mpfm-advisor-gateway-screen {
        min-height: 100vh;
        height: 100vh;
        padding: 16px;
        overflow: hidden;
        align-items: center;
    }
    .mpfm-advisor-gateway-shell {
        height: calc(100vh - 32px);
        min-height: 0;
        max-height: calc(100vh - 32px);
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
    }
    .mpfm-advisor-gateway-layout {
        min-height: 0;
        height: 100%;
        overflow: hidden;
    }
    .mpfm-advisor-gateway-side,
    .mpfm-advisor-gateway-main {
        min-height: 0;
        max-height: 100%;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(183,214,255,.38) rgba(255,255,255,.04);
    }
    .mpfm-advisor-gateway-side::-webkit-scrollbar,
    .mpfm-advisor-gateway-main::-webkit-scrollbar { width: 8px; }
    .mpfm-advisor-gateway-side::-webkit-scrollbar-thumb,
    .mpfm-advisor-gateway-main::-webkit-scrollbar-thumb {
        background: rgba(183,214,255,.30);
        border-radius: 999px;
    }
    .mpfm-advisor-gateway-side {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 34px 36px;
    }
    .mpfm-advisor-gateway-side h1 {
        font-size: clamp(31px, 3.1vw, 48px);
        margin-bottom: 16px;
    }
    .mpfm-advisor-gateway-role { margin-bottom: 18px; }
    .mpfm-advisor-gateway-points { gap: 12px; margin-top: 14px; }
    .mpfm-advisor-gateway-points div { grid-template-columns: 38px minmax(0,1fr); gap: 11px; }
    .mpfm-advisor-gateway-points div > span { width: 38px; height: 38px; border-radius: 13px; }
    .mpfm-advisor-gateway-id { margin-top: auto; }
    .mpfm-advisor-gateway-main {
        display: flex;
        flex-direction: column;
        padding: 30px 42px 36px;
    }
    .mpfm-advisor-gateway-progress { flex: 0 0 auto; margin-bottom: 20px; }
    .mpfm-advisor-console-workspace {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .mpfm-advisor-gateway-form,
    .mpfm-advisor-gateway-panel.is-active {
        min-height: 0;
        height: 100%;
    }
    .mpfm-advisor-gateway-panel {
        min-height: 0;
        padding: 34px 40px;
    }
    .mpfm-advisor-gateway-panel h2 {
        font-size: clamp(32px, 3.4vw, 48px);
    }
    .mpfm-advisor-gateway-detail-list div { min-height: 62px; }
}


/* Phase 12 frontend CSS consistency pass: profile, portal tabs, forms, and mobile layouts */
.mpfm-portal input[type="text"],
.mpfm-portal input[type="email"],
.mpfm-portal input[type="password"],
.mpfm-portal input[type="url"],
.mpfm-portal input[type="tel"],
.mpfm-portal input[type="number"],
.mpfm-portal select,
.mpfm-portal textarea{max-width:100%;min-height:48px}
.mpfm-portal textarea{min-height:112px;resize:vertical}
.mpfm-portal-panel{min-width:0;overflow:hidden}
.mpfm-profile-info-grid,.mpfm-dashboard-card-grid,.mpfm-library-grid,.mpfm-files-grid{min-width:0}
.mpfm-profile-info-card,.mpfm-section-header-card,.mpfm-tool-card,.mpfm-library-card,.mpfm-file-card{word-break:normal;overflow-wrap:anywhere}
.mpfm-profile-info-card strong,.mpfm-tool-card strong,.mpfm-library-card strong,.mpfm-file-card strong{letter-spacing:-.01em}
.mpfm-profile-info-icon,.mpfm-section-header-icon{background:linear-gradient(135deg,#071a33,#143b6d);box-shadow:0 14px 28px rgba(20,59,109,.20)}
.mpfm-portal a:hover:not(.mpfm-button):not(.mpfm-social-icon){color:#0b5db8}
@media(max-width:860px){
    .mpfm-portal{padding:14px;border-radius:24px}
    .mpfm-portal-panel{padding:18px;border-radius:24px}
    .mpfm-profile-info-card{padding:18px;border-radius:20px;min-height:0}
}

/* Phase 12.2 security tab polish: remove stretched/empty card effect and align with icon-card portal style */
.mpfm-security-grid {
    align-items: start !important;
}

.mpfm-portal .mpfm-security-card,
.mpfm-portal .mpfm-security-form.mpfm-security-card {
    align-self: start !important;
    max-width: none !important;
    margin-top: 0 !important;
    border: 1px solid rgba(21, 59, 109, .13) !important;
    border-radius: 28px !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow: 0 18px 45px rgba(7, 26, 51, .07) !important;
    padding: clamp(18px, 2.4vw, 26px) !important;
    min-height: 0 !important;
    height: auto !important;
}

.mpfm-security-card-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    margin-bottom: 18px;
}

.mpfm-security-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, #0e2b52, #1d5aa0);
    color: #ffffff;
    font-size: 24px;
    font-weight: 950;
    box-shadow: 0 16px 30px rgba(20, 59, 109, .20);
}

.mpfm-security-card-head h4 {
    margin: 2px 0 8px !important;
    color: #071a33 !important;
    font-size: clamp(20px, 2vw, 26px) !important;
    line-height: 1.12;
    letter-spacing: -.03em;
    font-weight: 950;
}

.mpfm-security-card-head p {
    margin: 0 !important;
    color: #52627a !important;
    line-height: 1.55;
}

.mpfm-security-status {
    white-space: nowrap;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    border: 1px solid rgba(21, 59, 109, .14);
    color: #52627a;
    background: #eef4fb;
}

.mpfm-security-status.is-on {
    color: #136342;
    border-color: rgba(34, 197, 94, .22);
    background: #eafaf1;
}

.mpfm-security-switch {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 62px;
    border: 1px solid rgba(21, 59, 109, .13);
    border-radius: 22px;
    padding: 14px 16px;
    margin: 0 0 18px;
    background: linear-gradient(145deg, #f7fbff, #ffffff);
    color: #071a33;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(7, 26, 51, .05);
}

.mpfm-security-switch input {
    width: 20px;
    height: 20px;
    accent-color: #1d5aa0;
    flex: 0 0 auto;
}

.mpfm-portal .mpfm-security-card .mpfm-form-grid {
    margin-top: 12px;
}

.mpfm-portal .mpfm-security-card .mpfm-form-actions {
    margin-top: 16px;
}

@media (max-width: 740px) {
    .mpfm-security-card-head {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .mpfm-security-status {
        grid-column: 1 / -1;
        width: fit-content;
    }
}


/* Phase 13.2: modern profile image editor refinements */
.mpfm-portal .mpfm-profile-image-card {
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(20, 59, 109, .13);
    background: linear-gradient(135deg, #ffffff, #f6faff);
}
.mpfm-modern-image-editor {
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    padding: 28px;
}
.mpfm-modern-image-preview {
    width: 148px;
    height: 148px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(7,26,51,.96), rgba(20,59,109,.88));
    box-shadow: 0 24px 52px rgba(7,26,51,.20);
    border: 5px solid #fff;
    overflow: hidden;
}
.mpfm-modern-image-preview img,
.mpfm-modern-image-preview .avatar {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 999px;
    display: block;
}
.mpfm-profile-edit-kicker {
    display: inline-flex;
    width: max-content;
    margin: 0 0 8px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #e9f3ff;
    color: #143b6d;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.mpfm-modern-image-copy h4 { margin: 0 0 8px; color: #071a33; font-size: 24px; line-height: 1.1; }
.mpfm-modern-image-copy p { margin: 0 0 14px; color: #5b6980; }
.mpfm-modern-image-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0; }
.mpfm-file-button { cursor: pointer; display: inline-flex !important; align-items: center; justify-content: center; min-height: 46px; }
.mpfm-remove-image-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(20,59,109,.14);
    background: #fff;
    color: #143b6d;
    font-weight: 850;
    cursor: pointer;
}
.mpfm-remove-image-toggle input { width: 16px; height: 16px; accent-color: #143b6d; }
.mpfm-modern-url-field { display: grid; gap: 8px; margin-top: 8px; }
.mpfm-modern-url-field span { color: #071a33; font-weight: 900; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.mpfm-portal .mpfm-modern-url-field input[type="url"] {
    min-height: 52px;
    border-radius: 18px;
    border: 1px solid #d7e2ef;
    background: #fff;
    padding: 0 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.mpfm-image-help { font-size: 13px; color: #6a7890 !important; margin-top: 10px !important; }
@media (max-width: 720px) {
    .mpfm-modern-image-editor { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 22px; }
    .mpfm-modern-image-actions { justify-content: center; }
    .mpfm-modern-url-field { width: 100%; text-align: left; }
}

/* Protected Virtual Pages */
body.mpfm-protected-virtual-page {
    margin: 0;
    background: #071a33;
}
.mpfm-vpage-shell,
.mpfm-vpage-shell * {
    box-sizing: border-box;
}
.mpfm-vpage-shell {
    min-height: 100vh;
    padding: clamp(18px, 4vw, 44px);
    background:
        radial-gradient(circle at 18% 10%, rgba(68, 126, 209, .32), transparent 30%),
        radial-gradient(circle at 86% 0%, rgba(214, 168, 73, .18), transparent 28%),
        linear-gradient(135deg, #06152d 0%, #0a2448 48%, #071a33 100%);
    color: #ffffff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mpfm-vpage-container {
    width: min(1180px, 100%);
    margin: 0 auto;
}
.mpfm-vpage-topbar {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 28px;
    padding: clamp(20px, 4vw, 34px);
    margin-bottom: 22px;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0, rgba(255,255,255,.045) 1px, transparent 1px, transparent 18px),
        linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
    box-shadow: 0 26px 80px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.mpfm-vpage-topbar span:first-child {
    display: block;
    color: rgba(255,255,255,.68);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 6px;
}
.mpfm-vpage-topbar h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(26px, 4vw, 48px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}
.mpfm-vpage-security {
    flex: 0 0 auto;
    color: #dbebff !important;
    background: rgba(56, 139, 253, .16);
    border: 1px solid rgba(134, 188, 255, .28);
    border-radius: 999px;
    padding: 9px 13px;
    font-size: 12px;
    font-weight: 900;
}
.mpfm-vpage-content,
.mpfm-vpage-card {
    background: rgba(255,255,255,.94);
    color: #102033;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 26px;
    padding: clamp(22px, 4vw, 34px);
    box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.mpfm-vpage-content > :is(h1,h2,h3,h4) {
    color: #071a33;
}
.mpfm-vpage-content > :is(p, ul, ol) a {
    color: #0b58b5;
    font-weight: 800;
}
.mpfm-vpage-card {
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
}
.mpfm-vpage-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 14px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    color: #d6a849;
    background: linear-gradient(135deg, #071a33, #0f376a);
    box-shadow: 0 16px 36px rgba(7, 26, 51, .18);
    font-size: 30px;
}
.mpfm-vpage-card h2 {
    margin: 0 0 10px;
    color: #071a33;
    font-size: clamp(24px, 3vw, 34px);
    letter-spacing: -.03em;
}
.mpfm-vpage-card p {
    color: #526071;
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 18px;
}
.mpfm-vpage-password label {
    display: grid;
    text-align: left;
    gap: 8px;
    color: #071a33;
    font-weight: 900;
    margin: 16px 0;
}
.mpfm-vpage-password input {
    width: 100%;
    min-height: 52px;
    border-radius: 15px;
    border: 1px solid #cbd7e8;
    background: #f8fafc;
    padding: 0 14px;
    font-size: 16px;
}
.mpfm-vpage-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #0c4da2, #0a2b58);
    color: #fff !important;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(10, 77, 162, .25);
    cursor: pointer;
}
@media (max-width: 720px) {
    .mpfm-vpage-shell {
        padding: 0;
    }
    .mpfm-vpage-container {
        width: 100%;
    }
    .mpfm-vpage-topbar,
    .mpfm-vpage-content,
    .mpfm-vpage-card {
        border-radius: 0;
        box-shadow: none;
    }
    .mpfm-vpage-topbar {
        display: grid;
        padding: 24px 18px;
    }
    .mpfm-vpage-security {
        width: max-content;
    }
}

/* Protected Virtual Page layout controls v0.13.4 */
.mpfm-vpage-shell.mpfm-vpage-top-zero { padding-top: 0; }
.mpfm-vpage-shell.mpfm-vpage-top-small { padding-top: 18px; }
.mpfm-vpage-shell.mpfm-vpage-top-medium { padding-top: clamp(18px, 4vw, 44px); }
.mpfm-vpage-shell.mpfm-vpage-top-large { padding-top: clamp(44px, 8vw, 92px); }
.mpfm-vpage-shell.mpfm-vpage-bottom-zero { padding-bottom: 0; }
.mpfm-vpage-shell.mpfm-vpage-bottom-small { padding-bottom: 18px; }
.mpfm-vpage-shell.mpfm-vpage-bottom-medium { padding-bottom: clamp(18px, 4vw, 44px); }
.mpfm-vpage-shell.mpfm-vpage-bottom-large { padding-bottom: clamp(44px, 8vw, 92px); }
.mpfm-vpage-shell.mpfm-vpage-bg-white { background: #f7f9fd; color: #102033; }
.mpfm-vpage-shell.mpfm-vpage-bg-transparent { background: transparent; color: inherit; }
.mpfm-vpage-container.mpfm-vpage-max-auto { width: min(1180px, 100%); }
.mpfm-vpage-container.mpfm-vpage-max-1180 { width: min(1180px, 100%); }
.mpfm-vpage-container.mpfm-vpage-max-1360 { width: min(1360px, 100%); }
.mpfm-vpage-container.mpfm-vpage-max-full,
.mpfm-vpage-full-width .mpfm-vpage-container { width: 100%; max-width: none; }
.mpfm-vpage-no-wrapper {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: inherit;
}
.mpfm-vpage-bg-white .mpfm-vpage-topbar {
    background: linear-gradient(135deg, #071a33, #0b2f5d);
}
.mpfm-vpage-bg-white .mpfm-vpage-no-wrapper :is(h1,h2,h3,h4) {
    color: #071a33;
}
.mpfm-vpage-bg-transparent .mpfm-vpage-topbar,
.mpfm-vpage-bg-transparent .mpfm-vpage-content,
.mpfm-vpage-bg-transparent .mpfm-vpage-card {
    box-shadow: none;
}
@media (max-width: 720px) {
    .mpfm-vpage-shell.mpfm-vpage-top-zero,
    .mpfm-vpage-shell.mpfm-vpage-top-small,
    .mpfm-vpage-shell.mpfm-vpage-top-medium,
    .mpfm-vpage-shell.mpfm-vpage-top-large,
    .mpfm-vpage-shell.mpfm-vpage-bottom-zero,
    .mpfm-vpage-shell.mpfm-vpage-bottom-small,
    .mpfm-vpage-shell.mpfm-vpage-bottom-medium,
    .mpfm-vpage-shell.mpfm-vpage-bottom-large {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Morse protected page header/footer shortcodes v0.13.5 */
.mpfm-vpage-optional-header,
.mpfm-vpage-optional-footer {
    width: 100%;
    margin: 0 0 18px;
}
.mpfm-vpage-optional-footer {
    margin: 18px 0 0;
}
.mpfm-page-shortcode-header,
.mpfm-page-shortcode-footer {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    box-sizing: border-box;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mpfm-page-shortcode-header-inner {
    width: min(100%, 100%);
    min-height: clamp(260px, 42vw, 520px);
    padding: clamp(34px, 6vw, 86px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0, rgba(255,255,255,.05) 1px, transparent 1px, transparent 18px),
        radial-gradient(circle at 18% 18%, rgba(116, 36, 72, .34), transparent 34%),
        radial-gradient(circle at 86% 0%, rgba(122, 139, 124, .24), transparent 30%),
        linear-gradient(135deg, #101a34 0%, #09264d 52%, #071728 100%);
    color: #ffffff;
    border-radius: 0;
    overflow: hidden;
}
.mpfm-page-shortcode-label,
.mpfm-page-shortcode-eyebrow {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.mpfm-page-shortcode-eyebrow {
    color: #f5c75d;
    margin-bottom: 8px;
}
.mpfm-page-shortcode-header h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 7vw, 84px);
    line-height: .96;
    letter-spacing: -.06em;
    font-weight: 950;
    max-width: 820px;
}
.mpfm-page-shortcode-header p {
    color: rgba(255,255,255,.82);
    max-width: 720px;
    margin: 22px 0 0;
    font-size: clamp(16px, 1.7vw, 22px);
    line-height: 1.55;
}
.mpfm-page-shortcode-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 26px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0f5fc4, #0a3570);
    box-shadow: 0 18px 38px rgba(10, 77, 162, .28);
    text-decoration: none;
    font-weight: 950;
}
.mpfm-page-shortcode-badge {
    align-self: start;
    justify-self: end;
    border-radius: 999px;
    padding: 10px 14px;
    color: #f8d477;
    border: 1px solid rgba(248, 212, 119, .35);
    background: rgba(255,255,255,.08);
    font-weight: 950;
    white-space: nowrap;
}
.mpfm-page-shortcode-footer-inner {
    padding: 22px clamp(22px, 6vw, 72px);
    background: linear-gradient(135deg, #071a33, #0b2d58);
    color: rgba(255,255,255,.78);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
}
.mpfm-page-shortcode-footer strong {
    color: #fff;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 13px;
}
.mpfm-vpage-bg-white .mpfm-page-shortcode-header-inner,
.mpfm-page-shortcode-header-white .mpfm-page-shortcode-header-inner {
    background: linear-gradient(135deg, #f8fbff, #eaf1fb);
    color: #071a33;
}
.mpfm-vpage-bg-white .mpfm-page-shortcode-header h1,
.mpfm-page-shortcode-header-white h1 {
    color: #071a33;
}
.mpfm-vpage-bg-white .mpfm-page-shortcode-header p,
.mpfm-page-shortcode-header-white p,
.mpfm-vpage-bg-white .mpfm-page-shortcode-label,
.mpfm-page-shortcode-header-white .mpfm-page-shortcode-label {
    color: #526071;
}
@media (max-width: 720px) {
    .mpfm-page-shortcode-header-inner {
        min-height: auto;
        grid-template-columns: 1fr;
        padding: 34px 20px;
    }
    .mpfm-page-shortcode-badge {
        justify-self: start;
    }
    .mpfm-page-shortcode-footer-inner {
        display: grid;
        padding: 20px;
    }
}

/* Protected virtual page neutral header/footer slots v0.13.7 */
.mpfm-vpage-shell.mpfm-vpage-has-global-header {
    padding-top: 0 !important;
}
.mpfm-vpage-shell.mpfm-vpage-has-global-footer {
    padding-bottom: 0 !important;
}
.mpfm-vpage-global-header,
.mpfm-vpage-global-footer {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 !important;
    box-sizing: border-box;
    color: inherit;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.mpfm-vpage-global-header :where(a),
.mpfm-vpage-global-footer :where(a),
.mpfm-vpage-global-header :where(h1,h2,h3,h4,h5,h6),
.mpfm-vpage-global-footer :where(h1,h2,h3,h4,h5,h6) {
    color: inherit;
}
.mpfm-vpage-shell.mpfm-vpage-has-global-header .mpfm-vpage-container,
.mpfm-vpage-shell.mpfm-vpage-has-global-footer .mpfm-vpage-container {
    margin-top: 0;
    margin-bottom: 0;
}

/* Built-in Morse member login popup v0.13.8 */
.mpfm-login-root,
.mpfm-login-root *{box-sizing:border-box}
.mpfm-login-root{--mpfm-login-primary:#4aa3ff;--mpfm-login-accent:#d6a849;--mpfm-login-card:#09111f;--mpfm-login-panel:rgba(9,17,31,.96);--mpfm-login-muted:#aebdd3;--mpfm-login-shadow:0 28px 90px rgba(0,0,0,.48);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.mpfm-login-modal{position:fixed;inset:0;z-index:999999;display:none!important;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 18% 18%,rgba(74,163,255,.20),transparent 32%),radial-gradient(circle at 88% 24%,rgba(214,168,73,.12),transparent 34%),rgba(3,7,14,.80);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mpfm-login-modal.is-open{display:flex!important}
body.mpfm-member-login-open{overflow:hidden!important}
.mpfm-login-modal-panel{position:relative;width:min(92vw,840px);max-width:840px;min-height:520px;max-height:min(620px,calc(100vh - 56px));overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),var(--mpfm-login-panel);box-shadow:var(--mpfm-login-shadow),0 0 34px rgba(74,163,255,.16),0 0 34px rgba(214,168,73,.10)}
.mpfm-login-modal-panel:before{content:"";position:absolute;inset:-1px;z-index:2;border-radius:inherit;padding:1px;background:linear-gradient(90deg,rgba(74,163,255,.92),rgba(255,255,255,.08),rgba(214,168,73,.82));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.mpfm-login-modal-grid{display:grid;grid-template-columns:34% 66%;min-height:520px;width:100%}
.mpfm-login-close{position:absolute;top:16px;right:16px;z-index:8;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#fff;background:rgba(255,255,255,.05);font-size:26px;line-height:1;cursor:pointer;transition:.18s ease}
.mpfm-login-close:hover{background:rgba(74,163,255,.18);border-color:rgba(74,163,255,.35);transform:translateY(-1px)}
.mpfm-login-visual{position:relative;z-index:3;min-height:520px;overflow:hidden;background:radial-gradient(circle at 26% 18%,rgba(74,163,255,.32),transparent 34%),radial-gradient(circle at 86% 72%,rgba(214,168,73,.18),transparent 38%),linear-gradient(145deg,#07111f,#0b2444 58%,#050b14)}
.mpfm-login-visual:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 18px);opacity:.5}
.mpfm-login-visual-orb{position:absolute;left:24px;top:34px;width:96px;height:96px;border-radius:32px;background:linear-gradient(135deg,rgba(74,163,255,.35),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 44px rgba(74,163,255,.18)}
.mpfm-login-visual-text{position:absolute;left:24px;right:24px;bottom:28px;z-index:2;color:#fff}
.mpfm-login-visual-text span{display:block;margin-bottom:10px;color:#a9d4ff;font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.mpfm-login-visual-text strong{display:block;color:#fff;font-size:30px;line-height:.98;letter-spacing:-.045em;font-weight:950}
.mpfm-login-content{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:34px 38px 30px;background:transparent;color:#fff}
.mpfm-login-head{margin:0 0 18px}
.mpfm-login-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin:0 0 12px;padding:7px 11px;border:1px solid rgba(74,163,255,.28);border-radius:999px;background:rgba(74,163,255,.12);color:#a9d4ff;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.mpfm-login-badge span{display:block;width:7px;height:7px;border-radius:999px;background:#5eead4;box-shadow:0 0 12px rgba(94,234,212,.9)}
.mpfm-login-head h2{margin:0;color:#fff;font-size:34px;line-height:1;letter-spacing:-.045em;font-weight:950}
.mpfm-login-head p{margin:10px 0 0;color:var(--mpfm-login-muted);font-size:14px;line-height:1.55;max-width:460px}
.mpfm-login-form{display:grid;gap:12px;margin-top:18px}
.mpfm-login-form label{display:grid;gap:6px;color:#dbeafe;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.mpfm-login-form input[type=text],.mpfm-login-form input[type=password]{width:100%;height:46px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06);color:#fff;padding:0 14px;font-size:15px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.mpfm-login-form input[type=text]:focus,.mpfm-login-form input[type=password]:focus{border-color:rgba(74,163,255,.75);box-shadow:0 0 0 4px rgba(74,163,255,.13)}
.mpfm-login-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 2px}
.mpfm-login-remember{display:flex!important;align-items:center;gap:8px!important;color:#aebdd3!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important}
.mpfm-login-remember input{accent-color:#4aa3ff}
.mpfm-login-text-button{appearance:none;border:0;background:transparent;color:#8ac3ff;font-weight:900;cursor:pointer;padding:0;text-decoration:none}
.mpfm-login-text-button:hover{color:#bfdbfe;text-decoration:underline}
.mpfm-login-back{justify-self:start;margin-top:2px}.mpfm-login-back:before{content:"← ";color:#8ac3ff}
.mpfm-login-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,#1577db,#0a3f86);box-shadow:0 18px 34px rgba(21,119,219,.22);font-weight:950;cursor:pointer;transition:.18s ease}
.mpfm-login-submit:hover{transform:translateY(-1px);box-shadow:0 20px 40px rgba(21,119,219,.30)}
.mpfm-login-form.is-loading{opacity:.78}.mpfm-login-form.is-loading .mpfm-login-submit{cursor:wait}
.mpfm-login-message{position:relative;z-index:5;margin:0 0 14px;padding:12px 13px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);color:#dbeafe;font-size:13px;font-weight:800;line-height:1.45}
.mpfm-login-message[hidden]{display:none!important}.mpfm-login-message.is-error{border-color:rgba(248,113,113,.38);background:rgba(127,29,29,.20);color:#fecaca}.mpfm-login-message.is-success{border-color:rgba(94,234,212,.34);background:rgba(20,83,45,.20);color:#bbf7d0}.mpfm-login-message.is-info{border-color:rgba(74,163,255,.36);background:rgba(30,64,175,.18);color:#bfdbfe}
.mpfm-login-view[hidden]{display:none!important}.mpfm-login-view.is-active{display:block}
.mpfm-login-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.10)}
.mpfm-login-foot span{max-width:190px;color:#91a3bb;font-size:12px;line-height:1.45}.mpfm-login-foot a{max-width:218px;color:#fff!important;text-align:right;text-decoration:none;font-weight:900;font-size:13px;line-height:1.35}.mpfm-login-foot a:hover{color:#8ac3ff!important}
@media(max-width:760px){.mpfm-login-modal{align-items:center;padding:16px}.mpfm-login-modal-panel{width:min(100%,440px);max-width:440px;min-height:0;max-height:calc(100vh - 32px);overflow:auto}.mpfm-login-modal-grid{display:block;min-height:0}.mpfm-login-visual{min-height:116px}.mpfm-login-content{padding:24px}.mpfm-login-head h2{font-size:30px}.mpfm-login-foot,.mpfm-login-form-row{align-items:flex-start;flex-direction:column}.mpfm-login-foot a{text-align:left;max-width:100%}}
@media(max-width:430px){.mpfm-login-visual{display:none}.mpfm-login-content{padding:24px 20px}}

/* Protected page neutrality refinements v0.13.8 */
.mpfm-vpage-bg-white .mpfm-vpage-no-wrapper > :is(h1,h2,h3,h4){color:#071a33}
.mpfm-vpage-no-wrapper .mpfm-portal :is(h1,h2,h3,h4,h5,h6),
.mpfm-vpage-content .mpfm-portal :is(h1,h2,h3,h4,h5,h6){color:inherit}
.mpfm-vpage-no-wrapper .mpfm-portal .mpfm-portal-header :is(h1,h2,h3,h4,h5,h6),
.mpfm-vpage-content .mpfm-portal .mpfm-portal-header :is(h1,h2,h3,h4,h5,h6),
.mpfm-vpage-no-wrapper .mpfm-portal .mpfm-premium-profile-header :is(h1,h2,h3,h4,h5,h6),
.mpfm-vpage-content .mpfm-portal .mpfm-premium-profile-header :is(h1,h2,h3,h4,h5,h6){color:#fff!important}
.mpfm-vpage-global-header > *,
.mpfm-vpage-global-footer > *{max-width:none}


/* Phase 14.4 protected virtual page three-section neutral layout */
body.mpfm-protected-virtual-page,
body.mpfm-protected-virtual-page #page,
body.mpfm-protected-virtual-page .site,
body.mpfm-protected-virtual-page .site-content,
body.mpfm-protected-virtual-page .content-area,
body.mpfm-protected-virtual-page main {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
body.mpfm-protected-virtual-page {
    overflow-x: hidden;
}
body.mpfm-protected-virtual-page .mpfm-vpage-shell {
    min-height: 100vh;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.mpfm-protected-virtual-page .mpfm-vpage-section {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
}
body.mpfm-protected-virtual-page .mpfm-vpage-header-section,
body.mpfm-protected-virtual-page .mpfm-vpage-footer-section {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}

/* Absolute neutrality rule: plugin never styles or constrains shortcode output inside header/footer slots. */
body.mpfm-protected-virtual-page .mpfm-vpage-header-section > *,
body.mpfm-protected-virtual-page .mpfm-vpage-footer-section > * {
    max-width: none;
}

/* Only the middle content section is controlled by protected-page layout settings. */
body.mpfm-protected-virtual-page .mpfm-vpage-main-section {
    width: 100%;
    max-width: none;
}
body.mpfm-protected-virtual-page .mpfm-vpage-container {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    padding-left: clamp(16px, 3vw, 28px);
    padding-right: clamp(16px, 3vw, 28px);
}
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-100 { width: 100%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-95 { width: 95%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-90 { width: 90%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-85 { width: 85%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-80 { width: 80%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-75 { width: 75%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-70 { width: 70%; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-60 { width: 60%; }

/* Legacy class compatibility for older saved pages before percent widths. */
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-max-auto,
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-max-full { width: 100%; max-width: none; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-max-1180 { width: 90%; max-width: none; }
body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-max-1360 { width: 95%; max-width: none; }

body.mpfm-protected-virtual-page .mpfm-vpage-full-width .mpfm-vpage-container {
    width: 100%;
    max-width: none;
}
body.mpfm-protected-virtual-page .mpfm-vpage-no-wrapper {
    margin-left: 0;
    margin-right: 0;
}
@media (max-width: 780px) {
    body.mpfm-protected-virtual-page .mpfm-vpage-container,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-95,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-90,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-85,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-80,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-75,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-70,
    body.mpfm-protected-virtual-page .mpfm-vpage-container.mpfm-vpage-width-60 {
        width: 100%;
    }
}


/* Phase 14.5 login popup design controls */
.mpfm-login-visual {
    position: relative;
    overflow: hidden;
}
.mpfm-login-visual .mpfm-login-visual-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .86;
    filter: saturate(.92) contrast(1.04);
    z-index: 0;
}
.mpfm-login-visual .mpfm-login-visual-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(3, 7, 18, 0.18), rgba(3, 7, 18, 0.82)),
        linear-gradient(135deg, rgba(74, 163, 255, 0.28), rgba(217, 40, 58, 0.18));
}
.mpfm-login-visual.mpfm-login-visual-overlay-light .mpfm-login-visual-shade {
    background:
        linear-gradient(180deg, rgba(3, 7, 18, 0.08), rgba(3, 7, 18, 0.54)),
        linear-gradient(135deg, rgba(74, 163, 255, 0.18), rgba(217, 40, 58, 0.10));
}
.mpfm-login-visual.mpfm-login-visual-overlay-dark .mpfm-login-visual-shade {
    background:
        linear-gradient(180deg, rgba(3, 7, 18, 0.36), rgba(3, 7, 18, 0.92)),
        linear-gradient(135deg, rgba(74, 163, 255, 0.30), rgba(217, 40, 58, 0.24));
}
.mpfm-login-visual .mpfm-login-visual-logo {
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 4;
    display: block;
    width: min(190px, calc(100% - 48px));
    max-height: 78px;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 12px 30px rgba(0,0,0,.35));
}
.mpfm-login-visual .mpfm-login-visual-orb,
.mpfm-login-visual .mpfm-login-visual-text {
    position: relative;
    z-index: 3;
}
.mpfm-login-visual.has-custom-image .mpfm-login-visual-orb {
    opacity: .42;
}
@media (max-width: 760px) {
    .mpfm-login-visual.mpfm-login-mobile-hide {
        display: none !important;
    }
    .mpfm-login-visual.mpfm-login-mobile-banner {
        min-height: 116px;
    }
    .mpfm-login-visual .mpfm-login-visual-logo {
        top: 18px;
        left: 22px;
        width: min(150px, calc(100% - 44px));
        max-height: 54px;
    }
}


/* Phase 14.6 login visual logo polish */
.mpfm-login-visual .mpfm-login-visual-logo {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%);
    z-index: 4;
    width: min(210px, 68%) !important;
    max-height: 110px !important;
    object-fit: contain;
    object-position: center center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.42));
}

/* Remove any possible square/badge treatment around the uploaded visual logo. */
.mpfm-login-visual .mpfm-login-visual-logo::before,
.mpfm-login-visual .mpfm-login-visual-logo::after {
    display: none !important;
    content: none !important;
}

/* Keep Morse Policy Forum / Member Access anchored at the bottom of the visual panel. */
.mpfm-login-visual .mpfm-login-visual-text {
    position: absolute !important;
    left: 24px;
    right: 24px;
    bottom: 28px;
    top: auto !important;
    z-index: 5;
    display: grid;
    gap: 8px;
    text-align: left;
}

/* When a centered logo exists, reduce the decorative orb so it does not look like a logo square. */
.mpfm-login-visual.has-custom-logo .mpfm-login-visual-orb {
    opacity: .16 !important;
    transform: scale(.78);
    filter: blur(1px);
}

@media (max-width: 760px) {
    .mpfm-login-visual .mpfm-login-visual-logo {
        width: min(150px, 54%) !important;
        max-height: 68px !important;
    }

    .mpfm-login-visual .mpfm-login-visual-text {
        left: 22px;
        right: 22px;
        bottom: 20px;
    }
}


/* Phase 14.7 login visual top-centered logo and orb removal */
.mpfm-login-visual.has-custom-image .mpfm-login-visual-orb,
.mpfm-login-visual.has-custom-logo .mpfm-login-visual-orb {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Remove the remaining top-left square/glow by disabling decorative pseudo-elements if any theme/browser cache exposes them. */
.mpfm-login-visual.has-custom-image::before,
.mpfm-login-visual.has-custom-logo::before,
.mpfm-login-visual.has-custom-image::after,
.mpfm-login-visual.has-custom-logo::after {
    box-shadow: none !important;
}

/* Logo belongs at the top center of the left visual panel, cleanly over the image. */
.mpfm-login-visual .mpfm-login-visual-logo {
    top: 34px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    z-index: 5 !important;
    width: min(230px, 74%) !important;
    max-height: 96px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 14px 30px rgba(0,0,0,.38)) !important;
}

/* Bottom text remains bottom-aligned and separate from the logo. */
.mpfm-login-visual .mpfm-login-visual-text {
    position: absolute !important;
    left: 24px !important;
    right: 24px !important;
    bottom: 28px !important;
    top: auto !important;
    transform: none !important;
    z-index: 5 !important;
    display: grid !important;
    gap: 8px !important;
    text-align: left !important;
}

@media (max-width: 760px) {
    .mpfm-login-visual .mpfm-login-visual-logo {
        top: 18px !important;
        width: min(150px, 58%) !important;
        max-height: 56px !important;
    }

    .mpfm-login-visual .mpfm-login-visual-text {
        left: 22px !important;
        right: 22px !important;
        bottom: 18px !important;
    }
}


/* Phase 14.9 organization membership frontend */
.mpfm-org-membership-panel{position:relative;padding:clamp(28px,5vw,64px);background:radial-gradient(circle at 14% 6%,rgba(33,74,134,.10),transparent 30%),radial-gradient(circle at 88% 0%,rgba(185,28,28,.08),transparent 28%),linear-gradient(180deg,#f8fbff 0%,#eef3f9 100%);border-radius:34px;overflow:hidden}.mpfm-org-hero{max-width:860px;margin:0 auto 28px;text-align:center}.mpfm-org-hero h2{margin:10px 0 12px;color:#071a33;font-size:clamp(32px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;font-weight:950}.mpfm-org-hero p{color:#52627c;font-size:17px;line-height:1.7;margin:0 auto 16px}.mpfm-secondary-link{color:#214a86;font-weight:900;text-decoration:none}.mpfm-org-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto}.mpfm-org-tier-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:100%;border-radius:28px;padding:clamp(22px,3vw,34px);background:rgba(255,255,255,.92);border:1px solid rgba(33,74,134,.13);box-shadow:0 24px 60px rgba(7,26,51,.10)}.mpfm-org-tier-card h3{margin:0;color:#071a33;font-size:clamp(24px,2.4vw,34px);line-height:1.05;letter-spacing:-.035em}.mpfm-org-tier-card p{margin:0;color:#52627c;line-height:1.65}.mpfm-org-tier-card ul{margin:2px 0 8px;padding:0;list-style:none;display:grid;gap:10px;color:#33445e}.mpfm-org-tier-card li{position:relative;padding-left:24px;line-height:1.45;font-weight:700}.mpfm-org-tier-card li:before{content:"✓";position:absolute;left:0;top:0;color:#1d4f91;font-weight:950}.mpfm-org-tier-card .mpfm-button{margin-top:auto;width:fit-content}.mpfm-org-success,.mpfm-org-error{max-width:980px;margin:0 auto 22px;display:grid;gap:5px}.mpfm-org-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 18% 18%,rgba(74,163,255,.20),transparent 32%),radial-gradient(circle at 88% 24%,rgba(217,40,58,.16),transparent 34%),rgba(3,7,14,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mpfm-org-modal.is-open{display:flex}body.mpfm-org-modal-open{overflow:hidden}.mpfm-org-modal-card{position:relative;width:min(100%,980px);max-height:calc(100vh - 48px);overflow:auto;border-radius:28px;padding:clamp(22px,3vw,34px);color:#f8fbff;background:linear-gradient(135deg,rgba(255,255,255,.060),rgba(255,255,255,.018)),rgba(9,17,31,.96);border:1px solid rgba(255,255,255,.13);box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 34px rgba(74,163,255,.16),0 0 34px rgba(217,40,58,.13)}.mpfm-org-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.12);color:#fff;background:rgba(255,255,255,.04);font-size:28px;line-height:1;cursor:pointer}.mpfm-org-modal-head{padding-right:46px;margin-bottom:20px}.mpfm-org-modal-head span{display:inline-flex;margin-bottom:10px;color:#a9d4ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.mpfm-org-modal-head h3{margin:0;color:#fff;font-size:clamp(28px,4vw,46px);line-height:1;letter-spacing:-.045em}.mpfm-org-modal-head p{color:#aebdd3;line-height:1.7;max-width:760px}.mpfm-org-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mpfm-org-form-grid label{display:grid;gap:7px}.mpfm-org-form-grid label.wide{grid-column:1/-1}.mpfm-org-form-grid span{color:#dbeafe;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mpfm-org-form-grid input,.mpfm-org-form-grid select,.mpfm-org-form-grid textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);outline:none;color:#f8fbff;background:rgba(2,8,18,.50);box-shadow:inset 0 0 18px rgba(74,163,255,.05);padding:12px 14px}.mpfm-org-form-grid input,.mpfm-org-form-grid select{min-height:48px}.mpfm-org-form-grid input:focus,.mpfm-org-form-grid select:focus,.mpfm-org-form-grid textarea:focus{border-color:rgba(74,163,255,.70);box-shadow:0 0 0 4px rgba(74,163,255,.12),inset 0 0 18px rgba(74,163,255,.07)}.mpfm-org-form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.mpfm-secondary-button{min-height:48px;padding:0 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:900;cursor:pointer}@media(max-width:760px){.mpfm-org-membership-panel{padding:22px 16px;border-radius:24px}.mpfm-org-tier-grid,.mpfm-org-form-grid{grid-template-columns:1fr}.mpfm-org-modal{align-items:flex-start;padding:14px}.mpfm-org-modal-card{max-height:calc(100vh - 28px);border-radius:22px;padding:22px}}


/* Phase 15.0 membership status and organization dashboard */
.mpfm-current-membership-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(29, 78, 216, .10);
    border: 1px solid rgba(29, 78, 216, .18);
    color: #174f90;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mpfm-org-card-header {
    display: grid;
    gap: 5px;
    margin: -4px 0 4px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(33,74,134,.10), rgba(185,28,28,.055));
    border: 1px solid rgba(33,74,134,.12);
}
.mpfm-org-card-header span {
    color: #66758c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.mpfm-org-card-header strong {
    color: #071a33;
    font-size: 17px;
    font-weight: 950;
}

.mpfm-org-application-dashboard {
    position: relative;
    padding: clamp(24px, 4vw, 54px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 0%, rgba(33,74,134,.11), transparent 30%),
        radial-gradient(circle at 90% 4%, rgba(185,28,28,.08), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef3f9 100%);
}
.mpfm-org-application-top {
    max-width: 980px;
    margin: 0 auto 24px;
}
.mpfm-org-application-top h2 {
    margin: 12px 0;
    color: #071a33;
    font-size: clamp(34px, 4.4vw, 62px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 950;
}
.mpfm-org-application-top p {
    max-width: 820px;
    color: #52627c;
    font-size: 17px;
    line-height: 1.7;
}
.mpfm-org-application-layout {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 22px;
    max-width: 1280px;
    margin: 0 auto;
    align-items: start;
}
.mpfm-org-application-sidebar {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 22px;
}
.mpfm-org-review-card,
.mpfm-org-form-section {
    border-radius: 26px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(33,74,134,.12);
    box-shadow: 0 18px 46px rgba(7,26,51,.08);
}
.mpfm-org-review-card {
    padding: 20px;
}
.mpfm-org-review-card span {
    display: block;
    margin-bottom: 8px;
    color: #66758c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.mpfm-org-review-card strong {
    display: block;
    color: #071a33;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 950;
}
.mpfm-org-review-card p,
.mpfm-org-review-card li {
    color: #52627c;
    line-height: 1.55;
}
.mpfm-org-review-card ol {
    margin: 10px 0 0 18px;
    padding: 0;
}
.mpfm-org-dashboard-form {
    display: grid;
    gap: 18px;
}
.mpfm-org-form-section {
    padding: clamp(20px, 3vw, 30px);
}
.mpfm-org-form-section-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
}
.mpfm-org-form-section-head > span {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #174f90, #071a33);
    font-weight: 950;
}
.mpfm-org-form-section-head h3 {
    margin: 0;
    color: #071a33;
    font-size: 24px;
    line-height: 1.1;
    font-weight: 950;
}
.mpfm-org-form-section-head p {
    margin: 5px 0 0;
    color: #66758c;
    line-height: 1.55;
}
.mpfm-org-application-dashboard .mpfm-org-form-grid input,
.mpfm-org-application-dashboard .mpfm-org-form-grid select,
.mpfm-org-application-dashboard .mpfm-org-form-grid textarea {
    color: #071a33;
    background: rgba(248,251,255,.96);
    border-color: rgba(33,74,134,.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.mpfm-org-application-dashboard .mpfm-org-form-grid span {
    color: #253b57;
}
.mpfm-org-dashboard-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    padding: 6px 0 0;
}
@media (max-width: 920px) {
    .mpfm-org-application-layout {
        grid-template-columns: 1fr;
    }
    .mpfm-org-application-sidebar {
        position: static;
    }
}


/* Phase 15.1 organization tier card membership-style polish */
.mpfm-org-tier-grid {
    align-items: stretch;
}

.mpfm-org-tier-card {
    position: relative;
    min-height: 520px;
    padding: clamp(28px, 4vw, 48px) !important;
    border-radius: 34px !important;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 18% 8%, rgba(111, 144, 184, .34), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(255, 255, 255, .12), transparent 30%),
        linear-gradient(135deg, rgba(78, 106, 139, .92) 0%, rgba(31, 52, 72, .96) 54%, rgba(28, 39, 48, .98) 100%) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow:
        0 30px 80px rgba(7,26,51,.25),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mpfm-org-tier-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), transparent 36%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 18px);
    opacity: .55;
}

.mpfm-org-tier-card > * {
    position: relative;
    z-index: 2;
}

.mpfm-org-card-number {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(135, 160, 190, .46);
    border: 1px solid rgba(255,255,255,.20);
    color: #f6bf45;
    font-size: 24px;
    font-weight: 950;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
}

.mpfm-org-card-path {
    margin-top: 10px;
    color: rgba(231, 239, 250, .82);
    font-size: 14px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mpfm-org-tier-card h3 {
    max-width: 900px;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(34px, 4.5vw, 64px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
}

.mpfm-org-tier-card p {
    max-width: 980px;
    margin: 0 !important;
    color: rgba(235, 242, 252, .82) !important;
    font-size: clamp(17px, 1.55vw, 24px);
    line-height: 1.45 !important;
}

.mpfm-org-tier-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 18px !important;
    margin: 4px 0 8px !important;
    padding: 0 !important;
    color: rgba(235, 242, 252, .84) !important;
}

.mpfm-org-tier-card li {
    position: relative;
    padding-left: 24px !important;
    color: rgba(235, 242, 252, .84) !important;
    font-size: 14px;
    line-height: 1.45 !important;
    font-weight: 800 !important;
}

.mpfm-org-tier-card li::before {
    content: "✓" !important;
    position: absolute;
    left: 0;
    top: 0;
    color: #f6bf45 !important;
    font-weight: 950;
}

.mpfm-org-submit-button {
    width: min(100%, 720px);
    min-height: 74px;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 950;
    letter-spacing: -.015em;
    background:
        linear-gradient(135deg, #173a69 0%, #225b9f 100%);
    box-shadow:
        0 22px 46px rgba(8, 31, 66, .26),
        inset 0 1px 0 rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.12);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.mpfm-org-submit-button:hover,
.mpfm-org-submit-button:focus {
    color: #fff !important;
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow:
        0 26px 54px rgba(8, 31, 66, .34),
        inset 0 1px 0 rgba(255,255,255,.22);
}

@media (max-width: 920px) {
    .mpfm-org-tier-card {
        min-height: auto;
    }

    .mpfm-org-tier-card ul {
        grid-template-columns: 1fr;
    }

    .mpfm-org-submit-button {
        min-height: 62px;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .mpfm-org-tier-card {
        padding: 26px 22px !important;
        border-radius: 26px !important;
    }

    .mpfm-org-card-number {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        font-size: 20px;
    }

    .mpfm-org-tier-card h3 {
        font-size: clamp(30px, 11vw, 44px) !important;
    }

    .mpfm-org-tier-card p {
        font-size: 16px;
    }
}


/* Phase 15.2 organization clean cards with special tier header */
.mpfm-org-tier-card {
    min-height: auto !important;
    padding: clamp(22px, 3vw, 34px) !important;
    border-radius: 28px !important;
    overflow: visible !important;
    color: #071a33 !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(33,74,134,.13) !important;
    box-shadow: 0 24px 60px rgba(7,26,51,.10) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.mpfm-org-tier-card::before {
    display: none !important;
    content: none !important;
}

.mpfm-org-tier-card > * {
    position: relative;
    z-index: 1;
}

.mpfm-org-card-number,
.mpfm-org-card-path {
    display: none !important;
}

.mpfm-org-card-header-clean {
    display: grid;
    gap: 16px;
    margin: 0 0 8px;
    padding: 26px 30px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0%, rgba(185, 28, 28, .055), transparent 34%),
        linear-gradient(135deg, rgba(241, 245, 250, .98), rgba(255, 250, 252, .90));
    border: 1px solid rgba(33,74,134,.13);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.mpfm-org-card-header-clean span {
    color: #687994;
    font-size: clamp(13px, 1.2vw, 18px);
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.mpfm-org-card-header-clean strong {
    color: #071a33;
    font-size: clamp(24px, 2.5vw, 34px);
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 950;
}

.mpfm-org-tier-card h3 {
    margin: 0 !important;
    color: #071a33 !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
    font-weight: 950 !important;
}

.mpfm-org-tier-card p {
    margin: 0 !important;
    color: #52627c !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.mpfm-org-tier-card ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 2px 0 8px !important;
    padding: 0 !important;
    list-style: none !important;
    color: #33445e !important;
}

.mpfm-org-tier-card li {
    position: relative !important;
    padding-left: 24px !important;
    color: #33445e !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

.mpfm-org-tier-card li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #1d4f91 !important;
    font-weight: 950 !important;
}

.mpfm-org-submit-button {
    width: 100% !important;
    min-height: 70px !important;
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: clamp(18px, 2vw, 26px) !important;
    font-weight: 950 !important;
    letter-spacing: -.015em !important;
    background: linear-gradient(135deg, #173a69 0%, #225b9f 100%) !important;
    box-shadow: 0 22px 46px rgba(8, 31, 66, .22), inset 0 1px 0 rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.mpfm-org-submit-button:hover,
.mpfm-org-submit-button:focus {
    color: #fff !important;
    transform: translateY(-2px) !important;
    filter: brightness(1.05) !important;
    box-shadow: 0 26px 54px rgba(8, 31, 66, .30), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

@media (max-width: 640px) {
    .mpfm-org-card-header-clean {
        padding: 22px;
        border-radius: 22px;
    }

    .mpfm-org-card-header-clean span {
        font-size: 12px;
    }

    .mpfm-org-submit-button {
        min-height: 62px !important;
    }
}


/* Phase 15.3 organization pricing-table style correction */
.mpfm-org-tier-card {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(33,74,134,.13) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 60px rgba(7,26,51,.10) !important;
    color: #071a33 !important;
    padding: clamp(22px, 3vw, 34px) !important;
    gap: 15px !important;
}

/* The tier header is intentionally compact and blue like the Morse membership controls. */
.mpfm-org-card-header-clean {
    display: grid !important;
    gap: 7px !important;
    margin: 0 0 10px !important;
    padding: 16px 18px !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 15% 0%, rgba(74,163,255,.18), transparent 42%),
        linear-gradient(135deg, #123763 0%, #1f5a9d 100%) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow:
        0 16px 34px rgba(8,31,66,.16),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.mpfm-org-card-header-clean span {
    color: rgba(225, 239, 255, .82) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
}

.mpfm-org-card-header-clean strong {
    color: #fff !important;
    font-size: clamp(18px, 1.65vw, 24px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em !important;
    font-weight: 950 !important;
}

/* Keep the organization tier text clean and consistent with the pricing table. */
.mpfm-org-tier-card h3 {
    color: #071a33 !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
    font-weight: 950 !important;
    margin: 0 !important;
}

.mpfm-org-tier-card p {
    color: #52627c !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.mpfm-org-tier-card ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 2px 0 10px !important;
    padding: 0 !important;
    list-style: none !important;
}

.mpfm-org-tier-card li {
    color: #33445e !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

/* Submit Inquiry should visually match the individual membership primary button. */
.mpfm-org-tier-card .mpfm-org-submit-button,
.mpfm-org-tier-card a.mpfm-org-submit-button,
.mpfm-org-tier-card .mpfm-button.mpfm-org-submit-button {
    width: 100% !important;
    min-height: 72px !important;
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    text-align: center !important;
    font-size: clamp(18px, 2vw, 26px) !important;
    font-weight: 950 !important;
    letter-spacing: -.015em !important;
    background: linear-gradient(135deg, #173a69 0%, #245fa6 100%) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow:
        0 22px 46px rgba(8,31,66,.24),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.mpfm-org-tier-card .mpfm-org-submit-button:hover,
.mpfm-org-tier-card .mpfm-org-submit-button:focus {
    color: #fff !important;
    transform: translateY(-2px) !important;
    filter: brightness(1.05) !important;
    box-shadow:
        0 26px 54px rgba(8,31,66,.32),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
}

@media (max-width: 640px) {
    .mpfm-org-card-header-clean {
        padding: 14px 16px !important;
        border-radius: 16px !important;
    }

    .mpfm-org-tier-card .mpfm-org-submit-button {
        min-height: 62px !important;
    }
}


/* Phase 15.4 organization settings parity and button class match */
/* Organization Submit Inquiry now uses the same classes as the individual tier button:
   .mpfm-button.primary.mpfm-tier-apply. This rule only controls layout width. */
.mpfm-org-tier-card .mpfm-button.primary.mpfm-tier-apply.mpfm-org-submit-button {
    width: 100% !important;
    margin-top: auto !important;
}

/* Stop older organization-specific button overrides from changing the individual button appearance. */
.mpfm-org-tier-card .mpfm-org-submit-button.mpfm-tier-apply {
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    background: linear-gradient(135deg, #0b2344 0%, #123a6a 52%, #1d4f91 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(7, 26, 51, .28), inset 0 1px 0 rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.mpfm-org-tier-card .mpfm-org-submit-button.mpfm-tier-apply:hover,
.mpfm-org-tier-card .mpfm-org-submit-button.mpfm-tier-apply:focus {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 42px rgba(7, 26, 51, .34), 0 0 0 4px rgba(18,58,106,.10), inset 0 1px 0 rgba(255,255,255,.24) !important;
}


/* Step 2 restricted Projects tab. Scoped only to Projects tab content. */
.mpfm-projects-shortcode-output {
    width: 100%;
}

.mpfm-projects-fallback-card {
    display: grid;
    gap: 12px;
}


/* Step 2.1 Projects tab visibility fix. Scoped only to Projects tab content. */
.mpfm-projects-shortcode-output {
    width: 100%;
}

.mpfm-projects-fallback-card {
    display: grid;
    gap: 12px;
}


/* v0.15.16 advisor invitation responsive layout fix
   Scope: advisor invitation acceptance screen only. Does not affect member portal, protected stages, or shortcodes. */
.mpfm-advisor-invitation-body-v4 {
    min-width: 0;
    overflow-x: hidden;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-screen {
    width: 100%;
    min-height: 100svh;
    height: auto;
    padding: clamp(18px, 2.4vw, 36px);
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: auto;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-shell {
    width: min(1280px, calc(100vw - 48px));
    max-width: 1280px;
    min-height: auto;
    height: auto;
    max-height: none;
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    border-radius: 32px;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-layout {
    display: grid;
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
    min-height: 0;
    height: auto;
    overflow: visible;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side,
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-main {
    min-width: 0;
    min-height: 0;
    max-height: none;
    overflow: visible;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side {
    padding: clamp(28px, 3.1vw, 44px);
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-main {
    display: grid;
    align-content: start;
    gap: 22px;
    padding: clamp(28px, 3.2vw, 46px);
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress {
    width: min(900px, 100%);
    margin: 0 auto 0;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-console-workspace {
    width: min(880px, 100%);
    margin: 0 auto;
    border-radius: 28px;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-form,
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel.is-active {
    height: auto;
    min-height: 0;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel {
    min-height: 0;
    padding: clamp(28px, 3.2vw, 44px);
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel h2 {
    font-size: clamp(34px, 3.4vw, 48px);
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel p {
    max-width: 760px;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-detail-list {
    width: 100%;
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-detail-list div {
    grid-template-columns: 46px minmax(128px, 170px) minmax(0, 1fr);
}
.mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-actions {
    align-items: center;
}

@media (min-width: 981px) and (max-height: 820px) {
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-screen {
        align-items: flex-start;
    }
}

@media (min-width: 1500px) {
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-shell {
        width: min(1340px, calc(100vw - 64px));
        max-width: 1340px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-layout {
        grid-template-columns: minmax(300px, 350px) minmax(0, 1fr);
    }
}

@media (max-width: 1100px) {
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-shell {
        width: min(960px, calc(100vw - 32px));
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-layout {
        grid-template-columns: 1fr;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side {
        border-right: 0;
        border-bottom: 1px solid rgba(183,214,255,.14);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
        gap: 24px;
        align-items: start;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side .mpfm-advisor-gateway-points,
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side .mpfm-advisor-gateway-id {
        margin-top: 0;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side .mpfm-advisor-gateway-id {
        align-self: end;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-main {
        padding: 28px;
    }
}

@media (max-width: 760px) {
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-screen {
        display: block;
        min-height: 100svh;
        padding: 0;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-shell {
        width: 100%;
        min-height: 100svh;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        box-shadow: none;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-topbar {
        min-height: auto;
        padding: 16px 18px;
        gap: 12px;
        align-items: flex-start;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-brand strong {
        display: none;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side {
        display: block;
        padding: 22px 18px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-side h1 {
        font-size: clamp(31px, 9vw, 42px);
        max-width: 100%;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-subtitle {
        max-width: 100%;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-points.compact {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-points.compact div:nth-child(n+3) {
        display: none;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-id {
        margin-top: 16px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-main {
        padding: 18px;
        gap: 16px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        overflow: visible;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress b {
        width: 34px;
        height: 34px;
        font-size: 12px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress button:before {
        top: 17px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress span {
        font-size: 9px;
        line-height: 1.15;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-console-workspace {
        border-radius: 22px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel {
        padding: 22px 16px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel h2 {
        font-size: clamp(29px, 9vw, 36px);
        line-height: 1.04;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-panel p {
        font-size: 14px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-detail-list div {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
        min-height: 0;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-detail-list i {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-detail-list strong {
        grid-column: 2;
        font-size: 14px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-fields {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-terms {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-terms > span {
        display: none;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-terms label b,
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-terms label small {
        grid-column: auto;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-primary,
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-secondary {
        width: 100%;
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-topbar {
        flex-direction: column;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress span {
        display: none;
    }
    .mpfm-advisor-invitation-body-v4 .mpfm-advisor-gateway-progress {
        margin-bottom: 2px;
    }
}


/* Phase 11.8 advisor invitation smart-centered viewport/zoom behavior */
@media (min-width: 981px) {
    .mpfm-advisor-invitation-body-v4 {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    .mpfm-advisor-gateway-screen {
        min-height: 100vh !important;
        min-height: 100svh !important;
        min-height: 100dvh !important;
        height: auto !important;
        display: grid !important;
        place-items: center !important;
        padding: clamp(12px, 2.6vmin, 28px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    .mpfm-advisor-gateway-shell {
        width: min(100%, 1280px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: auto !important;
        display: grid !important;
        grid-template-rows: auto auto !important;
        border-radius: clamp(22px, 2.4vw, 34px) !important;
    }
    .mpfm-advisor-gateway-layout {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        grid-template-columns: minmax(255px, 335px) minmax(0, 1fr) !important;
    }
    .mpfm-advisor-gateway-side,
    .mpfm-advisor-gateway-main {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .mpfm-advisor-gateway-side {
        padding: clamp(24px, 3vw, 38px) !important;
    }
    .mpfm-advisor-gateway-main {
        display: block !important;
        padding: clamp(24px, 3vw, 38px) !important;
    }
    .mpfm-advisor-gateway-side h1 {
        font-size: clamp(31px, 3vw, 46px) !important;
    }
    .mpfm-advisor-gateway-points.compact {
        gap: 10px !important;
        margin-top: 18px !important;
    }
    .mpfm-advisor-gateway-id {
        margin-top: 22px !important;
    }
    .mpfm-advisor-gateway-progress {
        margin-bottom: 18px !important;
    }
    .mpfm-advisor-console-workspace {
        min-height: 0 !important;
        display: block !important;
    }
    .mpfm-advisor-gateway-form,
    .mpfm-advisor-gateway-panel.is-active {
        height: auto !important;
        min-height: 0 !important;
    }
    .mpfm-advisor-gateway-panel {
        min-height: 0 !important;
        padding: clamp(24px, 3vw, 34px) !important;
    }
    .mpfm-advisor-gateway-panel h2 {
        font-size: clamp(30px, 3.1vw, 44px) !important;
    }
    .mpfm-advisor-gateway-panel p {
        margin-bottom: 18px !important;
    }
    .mpfm-advisor-gateway-detail-list {
        margin: 18px 0 !important;
    }
    .mpfm-advisor-gateway-detail-list div {
        min-height: 60px !important;
        padding: 10px 16px !important;
    }
}

@media (min-width: 981px) and (max-height: 780px) {
    .mpfm-advisor-gateway-screen {
        place-items: start center !important;
        padding: 12px !important;
    }
    .mpfm-advisor-gateway-shell {
        border-radius: 26px !important;
    }
    .mpfm-advisor-gateway-topbar {
        min-height: 68px !important;
        padding: 14px 28px !important;
    }
    .mpfm-advisor-gateway-brand img {
        width: 42px !important;
        height: 42px !important;
    }
    .mpfm-advisor-gateway-mark {
        width: 42px !important;
        height: 42px !important;
    }
    .mpfm-advisor-gateway-side {
        padding: 22px 24px !important;
    }
    .mpfm-advisor-gateway-main {
        padding: 22px 28px 26px !important;
    }
    .mpfm-advisor-gateway-side h1 {
        font-size: 32px !important;
        margin-bottom: 14px !important;
    }
    .mpfm-advisor-gateway-subtitle {
        font-size: .9rem !important;
        margin: 10px 0 16px !important;
    }
    .mpfm-advisor-gateway-role {
        margin-bottom: 14px !important;
        padding: 9px 14px !important;
    }
    .mpfm-advisor-gateway-points.compact {
        gap: 6px !important;
        margin-top: 12px !important;
    }
    .mpfm-advisor-gateway-points.compact div {
        padding: 7px 0 !important;
    }
    .mpfm-advisor-gateway-points div > span {
        width: 34px !important;
        height: 34px !important;
        border-radius: 12px !important;
    }
    .mpfm-advisor-gateway-id {
        margin-top: 14px !important;
        padding: 13px !important;
    }
    .mpfm-advisor-gateway-progress {
        margin-bottom: 12px !important;
    }
    .mpfm-advisor-gateway-progress b {
        width: 36px !important;
        height: 36px !important;
        font-size: 13px !important;
    }
    .mpfm-advisor-gateway-progress button:before {
        top: 18px !important;
    }
    .mpfm-advisor-gateway-progress span {
        font-size: 11px !important;
    }
    .mpfm-advisor-console-workspace {
        border-radius: 22px !important;
    }
    .mpfm-advisor-gateway-panel {
        padding: 22px 28px !important;
    }
    .mpfm-advisor-gateway-panel h2 {
        font-size: 32px !important;
        margin-bottom: 10px !important;
    }
    .mpfm-advisor-gateway-panel p {
        font-size: 15px !important;
        margin-bottom: 14px !important;
    }
    .mpfm-advisor-gateway-detail-list div {
        min-height: 54px !important;
    }
    .mpfm-advisor-gateway-actions {
        margin-top: 18px !important;
    }
}

@media (min-width: 981px) and (max-height: 640px) {
    .mpfm-advisor-gateway-screen {
        place-items: start center !important;
        padding: 10px !important;
    }
    .mpfm-advisor-gateway-layout {
        grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) !important;
    }
    .mpfm-advisor-gateway-topbar {
        min-height: 60px !important;
        padding: 10px 24px !important;
    }
    .mpfm-advisor-gateway-side {
        padding: 18px 22px !important;
    }
    .mpfm-advisor-gateway-main {
        padding: 18px 24px 22px !important;
    }
    .mpfm-advisor-gateway-points.compact div:nth-child(n+3) {
        display: none !important;
    }
    .mpfm-advisor-gateway-panel {
        padding: 20px 24px !important;
    }
}

/* Custom membership badge images - scoped to member portal badge row only. */
.mpfm-custom-badge-stack {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.mpfm-custom-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    max-width: 100%;
}

.mpfm-custom-badge.has-image {
    min-height: 34px;
    border-radius: 999px;
}

.mpfm-custom-badge.has-image img {
    display: block;
    width: auto;
    max-width: min(190px, 42vw);
    height: auto;
    max-height: 42px;
    object-fit: contain;
}

.mpfm-custom-badge.is-text {
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 950;
    color: #0f2747;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 10px 24px rgba(0,0,0,.13);
}

@media (max-width: 640px) {
    .mpfm-profile-badge-row {
        align-items: flex-start;
    }
    .mpfm-custom-badge-stack {
        width: 100%;
    }
    .mpfm-custom-badge.has-image img {
        max-width: min(180px, 86vw);
        max-height: 40px;
    }
}

/* CSS verified-style fallback badges - used only when no custom badge image is uploaded. */
.mpfm-custom-badge.is-css-verified {
    --mpfm-badge-color: #477cf3;
    --mpfm-badge-size: 22px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 6px 11px 6px 7px;
    color: #0f2747;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 10px 24px rgba(0,0,0,.13);
    line-height: 1;
}

.mpfm-css-verified-badge {
    width: var(--mpfm-badge-size);
    height: var(--mpfm-badge-size);
    flex: 0 0 var(--mpfm-badge-size);
    display: inline-grid;
    place-items: center;
    position: relative;
    background: var(--mpfm-badge-color);
    line-height: 1;
    clip-path: polygon(
        50% 0%,
        58% 7%,
        68% 4%,
        74% 12%,
        84% 13%,
        87% 23%,
        96% 29%,
        93% 39%,
        100% 50%,
        93% 61%,
        96% 71%,
        87% 77%,
        84% 87%,
        74% 88%,
        68% 96%,
        58% 93%,
        50% 100%,
        42% 93%,
        32% 96%,
        26% 88%,
        16% 87%,
        13% 77%,
        4% 71%,
        7% 61%,
        0% 50%,
        7% 39%,
        4% 29%,
        13% 23%,
        16% 13%,
        26% 12%,
        32% 4%,
        42% 7%
    );
}

.mpfm-css-verified-badge::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 48%;
    width: 42%;
    height: 22%;
    background: transparent;
    border-left: calc(var(--mpfm-badge-size) * 0.12) solid #ffffff;
    border-bottom: calc(var(--mpfm-badge-size) * 0.12) solid #ffffff;
    border-radius: 0;
    transform: translate(-50%, -50%) rotate(-45deg);
    box-sizing: border-box;
}

.mpfm-css-badge-label {
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
    white-space: nowrap;
}

.mpfm-custom-badge.tier-policy_member,
.mpfm-custom-badge.field-badge_policy_member_image_url {
    --mpfm-badge-color: #477cf3;
}

.mpfm-custom-badge.tier-research_member,
.mpfm-custom-badge.field-badge_research_member_image_url {
    --mpfm-badge-color: #7157f6;
}

.mpfm-custom-badge.tier-leadership_circle,
.mpfm-custom-badge.field-badge_leadership_circle_image_url {
    --mpfm-badge-color: #d4a72c;
}

.mpfm-custom-badge.tier-organization_policy_engagement,
.mpfm-custom-badge.tier-policy_engagement,
.mpfm-custom-badge.tier-org_policy_engagement,
.mpfm-custom-badge.field-badge_organization_image_url {
    --mpfm-badge-color: #0f6f86;
}

.mpfm-custom-badge.tier-organization_technology_package,
.mpfm-custom-badge.tier-technology_package,
.mpfm-custom-badge.tier-org_technology_package,
.mpfm-custom-badge.tier-technology-package,
.mpfm-custom-badge.field-badge_technology_package_image_url {
    --mpfm-badge-color: #16a3c7;
}

.mpfm-custom-badge.tier-advisor,
.mpfm-custom-badge.field-badge_advisor_image_url {
    --mpfm-badge-color: #8b5cf6;
}

.mpfm-custom-badge.verified-blue,
.mpfm-custom-badge.field-badge_blue_verified_image_url {
    --mpfm-badge-color: #477cf3;
}

.mpfm-custom-badge.verified-silver,
.mpfm-custom-badge.field-badge_silver_verified_image_url {
    --mpfm-badge-color: #94a3b8;
}

.mpfm-custom-badge.verified-gold,
.mpfm-custom-badge.field-badge_gold_verified_image_url {
    --mpfm-badge-color: #d4a72c;
}

@media (max-width: 640px) {
    .mpfm-custom-badge.is-css-verified {
        max-width: 100%;
    }
    .mpfm-css-badge-label {
        white-space: normal;
    }
}

/* Avatar membership badge overlay - uses the same uploaded image / CSS fallback logic as portal badges. */
.mpfm-avatar-membership-badge {
    --mpfm-badge-color: #477cf3;
    --mpfm-badge-size: 32px;
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 3;
    width: var(--mpfm-badge-size);
    height: var(--mpfm-badge-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    border: 4px solid rgba(255,255,255,.98);
    box-shadow: 0 14px 30px rgba(0,0,0,.24);
    overflow: visible;
    line-height: 1;
}

.mpfm-avatar-membership-badge.is-css-verified {
    padding: 0;
}

.mpfm-avatar-membership-badge.is-css-verified .mpfm-css-verified-badge {
    width: 100%;
    height: 100%;
    flex: 0 0 100%;
    display: inline-grid;
    place-items: center;
}

.mpfm-avatar-membership-badge.is-css-verified .mpfm-css-verified-badge::after {
    width: 40%;
    height: 21%;
    top: 47%;
    border-left-width: 3px;
    border-bottom-width: 3px;
}

.mpfm-avatar-membership-badge.has-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
}

.mpfm-avatar-membership-badge.tier-policy_member,
.mpfm-avatar-membership-badge.field-badge_policy_member_image_url {
    --mpfm-badge-color: #477cf3;
}

.mpfm-avatar-membership-badge.tier-research_member,
.mpfm-avatar-membership-badge.field-badge_research_member_image_url {
    --mpfm-badge-color: #7157f6;
}

.mpfm-avatar-membership-badge.tier-leadership_circle,
.mpfm-avatar-membership-badge.field-badge_leadership_circle_image_url {
    --mpfm-badge-color: #d4a72c;
}

.mpfm-avatar-membership-badge.tier-organization_policy_engagement,
.mpfm-avatar-membership-badge.tier-policy_engagement,
.mpfm-avatar-membership-badge.tier-org_policy_engagement,
.mpfm-avatar-membership-badge.field-badge_organization_image_url {
    --mpfm-badge-color: #0f6f86;
}

.mpfm-avatar-membership-badge.tier-organization_technology_package,
.mpfm-avatar-membership-badge.tier-technology_package,
.mpfm-avatar-membership-badge.tier-org_technology_package,
.mpfm-avatar-membership-badge.tier-technology-package,
.mpfm-avatar-membership-badge.field-badge_technology_package_image_url {
    --mpfm-badge-color: #16a3c7;
}

.mpfm-avatar-membership-badge.tier-advisor,
.mpfm-avatar-membership-badge.field-badge_advisor_image_url {
    --mpfm-badge-color: #8b5cf6;
}

.mpfm-avatar-membership-badge.verified-blue,
.mpfm-avatar-membership-badge.field-badge_blue_verified_image_url {
    --mpfm-badge-color: #477cf3;
}

.mpfm-avatar-membership-badge.verified-silver,
.mpfm-avatar-membership-badge.field-badge_silver_verified_image_url {
    --mpfm-badge-color: #94a3b8;
}

.mpfm-avatar-membership-badge.verified-gold,
.mpfm-avatar-membership-badge.field-badge_gold_verified_image_url {
    --mpfm-badge-color: #d4a72c;
}

.mpfm-avatar-wrap-large .mpfm-avatar-membership-badge {
    --mpfm-badge-size: 34px;
    right: 8px;
    bottom: 8px;
}

@media (max-width: 760px) {
    .mpfm-avatar-membership-badge {
        --mpfm-badge-size: 30px;
        right: 6px;
        bottom: 6px;
        border-width: 3px;
    }
    .mpfm-avatar-wrap-large .mpfm-avatar-membership-badge {
        --mpfm-badge-size: 32px;
    }
}


/* v0.15.26 Files grid, search/filter controls, view actions, and new-file indicators. */
.mpfm-portal .mpfm-portal-tab {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    text-align: left;
}

.mpfm-portal .mpfm-portal-tab > span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.mpfm-tab-count {
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    margin-left: auto;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #dc2626;
    color: #ffffff;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(220, 38, 38, .28);
}

.mpfm-files-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(150px, .8fr) auto minmax(120px, auto);
    gap: 12px;
    align-items: end;
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid rgba(21,59,109,.13);
    border-radius: 22px;
    background: linear-gradient(145deg,#fff,#f7fbff);
    box-shadow: 0 18px 45px rgba(7,26,51,.06);
}

.mpfm-files-toolbar label {
    display: grid;
    gap: 7px;
    margin: 0;
    min-width: 0;
}

.mpfm-files-toolbar label > span {
    color: #617086;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mpfm-files-toolbar input,
.mpfm-files-toolbar select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d7e2ef;
    border-radius: 14px;
    background: #ffffff;
    color: #10243f;
    padding: 9px 12px;
    font-size: 14px;
    font-weight: 750;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.mpfm-files-toolbar input:focus,
.mpfm-files-toolbar select:focus {
    border-color: #4d8ee8;
    box-shadow: 0 0 0 3px rgba(77,142,232,.14);
}

.mpfm-files-toolbar-summary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 12px;
    border: 1px solid rgba(20,59,109,.12);
    border-radius: 14px;
    background: #eef5ff;
    color: #143b6d;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.mpfm-files-toolbar-summary strong {
    color: #071a33;
    font-size: 16px;
    font-weight: 950;
}

.mpfm-files-toolbar-summary em {
    padding: 3px 7px;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.mpfm-file-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.mpfm-file-row.mpfm-file-card {
    min-width: 0;
    align-items: stretch;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    min-height: 174px;
    padding: 16px;
}

.mpfm-file-card.is-new {
    border-color: rgba(220,38,38,.32);
    box-shadow: 0 16px 34px rgba(220,38,38,.08), 0 0 0 1px rgba(220,38,38,.06);
}

.mpfm-file-card-main {
    min-width: 0;
}

.mpfm-file-card-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.mpfm-file-new-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 8px;
    background: #dc2626;
    color: #ffffff;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(220,38,38,.22);
}

.mpfm-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    margin-top: auto;
}

.mpfm-file-actions .mpfm-button {
    min-height: 40px;
    padding: 10px 14px;
}

.mpfm-files-filter-empty {
    margin-top: 18px;
}

@media (max-width: 1080px) {
    .mpfm-files-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mpfm-files-toolbar .mpfm-button,
    .mpfm-files-toolbar-summary {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .mpfm-files-toolbar,
    .mpfm-file-list {
        grid-template-columns: 1fr;
    }
    .mpfm-file-row.mpfm-file-card {
        min-height: auto;
    }
    .mpfm-file-actions .mpfm-button {
        width: 100%;
    }
}

/* Announcement groups mirror the member files UI while remaining scoped to the portal. */
.mpfm-portal .mpfm-announcement-filter-bar {
    margin-bottom: 18px;
}

.mpfm-portal .mpfm-member-announcements-grid .mpfm-member-announcement-card,
.mpfm-portal .mpfm-member-announcement-card {
    align-items: flex-start;
}

.mpfm-portal .mpfm-member-announcement-card .mpfm-file-card-main {
    align-items: flex-start;
}

.mpfm-portal .mpfm-member-announcement-card h4 {
    margin: 0 0 8px;
    color: var(--mpfm-primary);
    font-size: 18px;
    font-weight: 950;
}

.mpfm-portal .mpfm-member-announcement-card p {
    margin: 0 0 12px;
    color: var(--mpfm-text);
}

.mpfm-portal .mpfm-member-announcement-card .mpfm-file-icon {
    background: color-mix(in srgb, var(--mpfm-primary) 10%, #ffffff);
    color: var(--mpfm-primary);
}

.mpfm-portal .mpfm-new-file-pill {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(185, 28, 28, .10);
    color: var(--mpfm-accent);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}


/* Announcement frontend card design, v0.15.34. */
.mpfm-portal .mpfm-member-announcements-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.mpfm-portal .mpfm-member-announcement-card-v2 {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 16px;
    padding: 20px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--mpfm-border);
    box-shadow: var(--mpfm-shadow-soft);
    border-top: 4px solid color-mix(in srgb, var(--mpfm-primary-2) 65%, #5b8cff);
}

.mpfm-portal .mpfm-member-announcement-card-v2.is-new {
    background: linear-gradient(180deg, rgba(71, 124, 243, .055), #ffffff 42%);
    border-color: color-mix(in srgb, var(--mpfm-primary-2) 24%, var(--mpfm-border));
}

.mpfm-portal .mpfm-member-announcement-card-v2.is-urgent {
    border-top-color: var(--mpfm-accent);
}

.mpfm-portal .mpfm-member-announcement-card-v2.is-pinned:not(.is-urgent) {
    border-top-color: var(--mpfm-gold);
}

.mpfm-portal .mpfm-announcement-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.mpfm-portal .mpfm-announcement-card-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.mpfm-portal .mpfm-announcement-group-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--group-color, var(--mpfm-primary));
    color: #ffffff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .04em;
    box-shadow: 0 14px 28px rgba(7,26,51,.16);
}

.mpfm-portal .mpfm-announcement-card-identity strong {
    display: block;
    color: var(--mpfm-primary);
    font-size: 15px;
    font-weight: 950;
    line-height: 1.2;
}

.mpfm-portal .mpfm-announcement-card-identity span {
    display: block;
    margin-top: 4px;
    color: var(--mpfm-muted);
    font-size: 12px;
    font-weight: 700;
}

.mpfm-portal .mpfm-announcement-badge-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.mpfm-portal .mpfm-announcement-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-style: normal;
    line-height: 1;
}

.mpfm-portal .mpfm-announcement-badge.is-new {
    background: rgba(71,124,243,.13);
    color: #2354c6;
}

.mpfm-portal .mpfm-announcement-badge.is-pinned {
    background: rgba(214,168,73,.16);
    color: #8a5b07;
}

.mpfm-portal .mpfm-announcement-badge.is-urgent {
    background: rgba(185,28,28,.12);
    color: var(--mpfm-accent);
}

.mpfm-portal .mpfm-announcement-card-body h4 {
    margin: 0 0 8px;
    color: var(--mpfm-primary);
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 950;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.mpfm-portal .mpfm-announcement-preview {
    margin: 0;
    color: var(--mpfm-muted);
    font-size: 15px;
    line-height: 1.65;
}

.mpfm-portal .mpfm-announcement-details {
    margin-top: 14px;
    border-radius: 16px;
    background: var(--mpfm-card-soft);
    border: 1px solid var(--mpfm-border);
    overflow: hidden;
}

.mpfm-portal .mpfm-announcement-details summary {
    cursor: pointer;
    padding: 12px 14px;
    color: var(--mpfm-primary-2);
    font-weight: 900;
    list-style-position: inside;
}

.mpfm-portal .mpfm-announcement-full-body {
    padding: 0 14px 14px;
    color: var(--mpfm-text);
}

.mpfm-portal .mpfm-announcement-full-body p {
    margin: 0 0 12px;
    line-height: 1.7;
}

.mpfm-portal .mpfm-announcement-card-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 2px;
}

.mpfm-portal .mpfm-announcement-read-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(15,111,86,.10);
    color: #0f6f56;
    font-size: 12px;
    font-weight: 950;
}

@media (max-width: 760px) {
    .mpfm-portal .mpfm-announcement-card-head {
        flex-direction: column;
        align-items: stretch;
    }
    .mpfm-portal .mpfm-announcement-badge-row {
        justify-content: flex-start;
    }
    .mpfm-portal .mpfm-announcement-card-actions {
        justify-content: stretch;
    }
    .mpfm-portal .mpfm-announcement-card-actions .mpfm-button,
    .mpfm-portal .mpfm-announcement-read-state {
        width: 100%;
    }
}

/* Announcements as file-style cards, v0.15.35. */
.mpfm-portal .mpfm-announcement-file-card {
    align-items: center;
}

.mpfm-portal .mpfm-announcement-file-card.is-new {
    border-color: color-mix(in srgb, var(--mpfm-primary-2) 28%, var(--mpfm-border));
    box-shadow: 0 18px 42px rgba(71,124,243,.12);
}

.mpfm-portal .mpfm-announcement-file-card.is-urgent {
    border-left: 4px solid var(--mpfm-accent);
}

.mpfm-portal .mpfm-announcement-file-card.is-pinned:not(.is-urgent) {
    border-left: 4px solid var(--mpfm-gold);
}

.mpfm-portal .mpfm-announcement-inline-badges {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 8px;
}

.mpfm-portal .mpfm-announcement-mini-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
}

.mpfm-portal .mpfm-announcement-mini-pill.is-pinned {
    background: rgba(214,168,73,.16);
    color: #8a5b07;
}

.mpfm-portal .mpfm-announcement-mini-pill.is-urgent {
    background: rgba(185,28,28,.12);
    color: var(--mpfm-accent);
}

.mpfm-portal .mpfm-announcement-file-actions {
    min-width: 260px;
}

.mpfm-portal .mpfm-announcement-view-modal[hidden] {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-view-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: clamp(18px, 4vw, 48px);
}

.mpfm-announcement-modal-open {
    overflow: hidden;
}

.mpfm-portal .mpfm-announcement-view-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 18, 36, .62);
    backdrop-filter: blur(8px);
}

.mpfm-portal .mpfm-announcement-view-dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 96vw);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    background: #ffffff;
    border: 1px solid var(--mpfm-border);
    border-radius: 28px;
    box-shadow: 0 34px 90px rgba(7, 18, 36, .38);
    padding: clamp(22px, 4vw, 34px);
}

.mpfm-portal .mpfm-announcement-view-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: var(--mpfm-card-soft);
    color: var(--mpfm-primary);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    font-weight: 900;
}

.mpfm-portal .mpfm-announcement-view-header {
    padding-right: 44px;
    margin-bottom: 18px;
}

.mpfm-portal .mpfm-announcement-view-header span {
    display: block;
    color: var(--mpfm-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.mpfm-portal .mpfm-announcement-view-header h3 {
    margin: 0;
    color: var(--mpfm-primary);
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 950;
}

.mpfm-portal .mpfm-announcement-view-body {
    color: var(--mpfm-text);
    font-size: 15px;
    line-height: 1.75;
    border-top: 1px solid var(--mpfm-border);
    border-bottom: 1px solid var(--mpfm-border);
    padding: 18px 0;
}

.mpfm-portal .mpfm-announcement-view-body p {
    margin: 0 0 14px;
}

.mpfm-portal .mpfm-announcement-view-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

@media (max-width: 760px) {
    .mpfm-portal .mpfm-announcement-file-card {
        align-items: stretch;
    }
    .mpfm-portal .mpfm-announcement-file-actions {
        min-width: 0;
    }
    .mpfm-portal .mpfm-announcement-inline-badges {
        margin-left: 0;
        margin-top: 8px;
        width: 100%;
    }
    .mpfm-portal .mpfm-announcement-view-actions {
        flex-direction: column;
    }
    .mpfm-portal .mpfm-announcement-view-actions .mpfm-button {
        width: 100%;
    }
}


/* v0.15.36 - Announcement cards: cleaner, left-aligned, no red borders. */
.mpfm-portal .mpfm-announcement-list,
.mpfm-portal .mpfm-announcements-list,
.mpfm-portal [data-mpfm-announcements-list] {
    display: grid;
    gap: 16px;
}

.mpfm-portal .mpfm-announcement-card,
.mpfm-portal .mpfm-announcement-file-card,
.mpfm-portal [data-announcement-id] {
    border-left: 0 !important;
    border-top: 1px solid var(--mpfm-border, #dbe3ef);
    border-right: 1px solid var(--mpfm-border, #dbe3ef);
    border-bottom: 1px solid var(--mpfm-border, #dbe3ef);
    border-radius: 22px;
    padding: clamp(18px, 2.4vw, 26px);
    min-height: auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
    text-align: left;
}

.mpfm-portal .mpfm-announcement-card.is-new,
.mpfm-portal .mpfm-announcement-file-card.is-new,
.mpfm-portal [data-announcement-id].is-new {
    border-left: 0 !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08), inset 0 4px 0 rgba(71, 124, 243, .72);
}

.mpfm-portal .mpfm-announcement-card.is-urgent,
.mpfm-portal .mpfm-announcement-file-card.is-urgent,
.mpfm-portal [data-announcement-id].is-urgent {
    border-left: 0 !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08), inset 0 4px 0 rgba(214, 168, 73, .90);
}

.mpfm-portal .mpfm-announcement-card > *,
.mpfm-portal .mpfm-announcement-file-card > *,
.mpfm-portal [data-announcement-id] > * {
    min-width: 0;
}

.mpfm-portal .mpfm-announcement-avatar,
.mpfm-portal .mpfm-announcement-icon,
.mpfm-portal .mpfm-announcement-group-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--mpfm-primary, #071a33);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .04em;
    flex: 0 0 auto;
    box-shadow: 0 10px 22px rgba(7, 26, 51, .16);
}

.mpfm-portal .mpfm-announcement-card-main,
.mpfm-portal .mpfm-announcement-content,
.mpfm-portal .mpfm-announcement-body-wrap {
    display: grid;
    gap: 8px;
    justify-items: stretch;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-card-header,
.mpfm-portal .mpfm-announcement-meta-row,
.mpfm-portal .mpfm-announcement-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-card h3,
.mpfm-portal .mpfm-announcement-file-card h3,
.mpfm-portal [data-announcement-id] h3,
.mpfm-portal .mpfm-announcement-title {
    margin: 0;
    color: var(--mpfm-primary, #071a33);
    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: -.025em;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-group-name,
.mpfm-portal .mpfm-announcement-meta,
.mpfm-portal .mpfm-announcement-date,
.mpfm-portal .mpfm-announcement-card small {
    color: var(--mpfm-muted, #667085);
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-preview,
.mpfm-portal .mpfm-announcement-excerpt,
.mpfm-portal .mpfm-announcement-card p {
    max-width: 980px;
    margin: 0;
    color: var(--mpfm-muted, #667085);
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-badges,
.mpfm-portal .mpfm-announcement-statuses {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    flex-wrap: wrap;
    margin-left: auto;
}

.mpfm-portal .mpfm-announcement-badge,
.mpfm-portal .mpfm-announcement-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: 0;
    line-height: 1;
}

.mpfm-portal .mpfm-announcement-badge.is-new,
.mpfm-portal .mpfm-announcement-status-badge.is-new,
.mpfm-portal .mpfm-announcement-badge-new {
    background: #eaf2ff;
    color: #1d4ed8;
}

.mpfm-portal .mpfm-announcement-badge.is-pinned,
.mpfm-portal .mpfm-announcement-status-badge.is-pinned,
.mpfm-portal .mpfm-announcement-badge-pinned {
    background: rgba(214, 168, 73, .16);
    color: #8a5a00;
}

.mpfm-portal .mpfm-announcement-badge.is-urgent,
.mpfm-portal .mpfm-announcement-status-badge.is-urgent,
.mpfm-portal .mpfm-announcement-badge-urgent {
    background: #fff1d6;
    color: #9a5a00;
}

.mpfm-portal .mpfm-announcement-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-actions .mpfm-button,
.mpfm-portal .mpfm-announcement-actions button,
.mpfm-portal .mpfm-announcement-actions a {
    margin: 0;
}

.mpfm-portal .mpfm-announcement-viewed-pill,
.mpfm-portal .mpfm-announcement-viewed-label,
.mpfm-portal .mpfm-announcement-actions .is-viewed {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    background: #eaf7f1;
    color: #05734f;
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
}

.mpfm-portal .mpfm-announcement-card.is-viewed .mpfm-announcement-mark-viewed,
.mpfm-portal .mpfm-announcement-file-card.is-viewed .mpfm-announcement-mark-viewed,
.mpfm-portal [data-announcement-id].is-viewed .mpfm-announcement-mark-viewed {
    display: none !important;
}

@media (max-width: 760px) {
    .mpfm-portal .mpfm-announcement-card,
    .mpfm-portal .mpfm-announcement-file-card,
    .mpfm-portal [data-announcement-id] {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px;
    }

    .mpfm-portal .mpfm-announcement-card-header,
    .mpfm-portal .mpfm-announcement-meta-row,
    .mpfm-portal .mpfm-announcement-topline {
        display: grid;
        gap: 8px;
    }

    .mpfm-portal .mpfm-announcement-badges,
    .mpfm-portal .mpfm-announcement-statuses {
        margin-left: 0;
    }

    .mpfm-portal .mpfm-announcement-actions {
        width: 100%;
    }

    .mpfm-portal .mpfm-announcement-actions .mpfm-button,
    .mpfm-portal .mpfm-announcement-actions button,
    .mpfm-portal .mpfm-announcement-actions a {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* v0.15.37 - Announcements: match Files cards, no colored card borders, New badge only. */
.mpfm-portal .mpfm-announcement-card,
.mpfm-portal .mpfm-announcement-file-card,
.mpfm-portal [data-announcement-id] {
    position: relative;
    border: 1px solid var(--mpfm-border, #dbe3ef) !important;
    border-left: 1px solid var(--mpfm-border, #dbe3ef) !important;
    border-top: 1px solid var(--mpfm-border, #dbe3ef) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06) !important;
    background: #ffffff;
}

.mpfm-portal .mpfm-announcement-card.is-new,
.mpfm-portal .mpfm-announcement-file-card.is-new,
.mpfm-portal [data-announcement-id].is-new,
.mpfm-portal .mpfm-announcement-card.is-urgent,
.mpfm-portal .mpfm-announcement-file-card.is-urgent,
.mpfm-portal [data-announcement-id].is-urgent {
    border: 1px solid var(--mpfm-border, #dbe3ef) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06) !important;
}

/* Keep the notification badge on the right side of the card. */
.mpfm-portal .mpfm-announcement-badges,
.mpfm-portal .mpfm-announcement-statuses {
    position: absolute;
    top: 18px;
    right: 18px;
    margin: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

/* Frontend card should show only NEW as the notification badge. */
.mpfm-portal .mpfm-announcement-badge:not(.is-new):not(.mpfm-announcement-badge-new),
.mpfm-portal .mpfm-announcement-status-badge:not(.is-new):not(.mpfm-announcement-badge-new),
.mpfm-portal .mpfm-announcement-badge-pinned,
.mpfm-portal .mpfm-announcement-badge-urgent,
.mpfm-portal .mpfm-announcement-status-badge.is-pinned,
.mpfm-portal .mpfm-announcement-status-badge.is-urgent {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-badge.is-new,
.mpfm-portal .mpfm-announcement-status-badge.is-new,
.mpfm-portal .mpfm-announcement-badge-new {
    display: inline-flex;
    min-height: 26px;
    padding: 6px 13px;
    border-radius: 999px;
    background: #e11d2e;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(225, 29, 46, .22);
}

/* No viewed status display is needed. Once viewed, only the New badge disappears. */
.mpfm-portal .mpfm-announcement-viewed-pill,
.mpfm-portal .mpfm-announcement-viewed-label,
.mpfm-portal .mpfm-announcement-actions .is-viewed,
.mpfm-portal .mpfm-announcement-badge.is-viewed,
.mpfm-portal .mpfm-announcement-status-badge.is-viewed {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-card.is-viewed .mpfm-announcement-badges,
.mpfm-portal .mpfm-announcement-file-card.is-viewed .mpfm-announcement-badges,
.mpfm-portal [data-announcement-id].is-viewed .mpfm-announcement-badges,
.mpfm-portal .mpfm-announcement-card.is-viewed .mpfm-announcement-statuses,
.mpfm-portal .mpfm-announcement-file-card.is-viewed .mpfm-announcement-statuses,
.mpfm-portal [data-announcement-id].is-viewed .mpfm-announcement-statuses {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-card-main,
.mpfm-portal .mpfm-announcement-content,
.mpfm-portal .mpfm-announcement-body-wrap {
    padding-right: 86px;
}

@media (max-width: 760px) {
    .mpfm-portal .mpfm-announcement-badges,
    .mpfm-portal .mpfm-announcement-statuses {
        position: static;
        justify-content: flex-start;
        margin: 4px 0 0;
    }

    .mpfm-portal .mpfm-announcement-card-main,
    .mpfm-portal .mpfm-announcement-content,
    .mpfm-portal .mpfm-announcement-body-wrap {
        padding-right: 0;
    }
}

/* v0.15.38 - Announcements: 2-column Files-style cards, blue pin icon, right status, close-to-view behavior. */
.mpfm-portal .mpfm-member-announcements-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch;
}

.mpfm-portal .mpfm-announcement-file-card {
    min-height: 180px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 1fr auto;
    align-items: start !important;
    gap: 16px;
    padding: clamp(18px, 2vw, 24px) !important;
    border: 1px solid var(--mpfm-border, #dbe3ef) !important;
    border-left: 1px solid var(--mpfm-border, #dbe3ef) !important;
    border-top: 1px solid var(--mpfm-border, #dbe3ef) !important;
    background: #ffffff !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06) !important;
    position: relative;
}

.mpfm-portal .mpfm-announcement-file-card.is-new,
.mpfm-portal .mpfm-announcement-file-card.is-urgent,
.mpfm-portal .mpfm-announcement-file-card.is-pinned {
    border: 1px solid var(--mpfm-border, #dbe3ef) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06) !important;
}

.mpfm-portal .mpfm-announcement-file-card .mpfm-file-card-main {
    display: grid;
    gap: 8px;
    padding-right: 108px !important;
    text-align: left;
}

.mpfm-portal .mpfm-announcement-file-card .mpfm-file-card-title-row {
    display: block;
    min-width: 0;
}

.mpfm-portal .mpfm-announcement-file-card .mpfm-file-card-title-row strong {
    display: inline;
    color: var(--mpfm-primary, #071a33);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 950;
    letter-spacing: -.02em;
}

.mpfm-portal .mpfm-announcement-inline-badges {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0 !important;
    width: auto !important;
}

.mpfm-portal .mpfm-announcement-status-pill,
.mpfm-portal .mpfm-announcement-mini-pill.is-urgent,
.mpfm-portal .mpfm-file-new-pill[data-mpfm-announcement-new-pill] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
    font-style: normal;
}

.mpfm-portal .mpfm-file-new-pill[data-mpfm-announcement-new-pill],
.mpfm-portal .mpfm-announcement-status-pill.is-new {
    background: #e11d2e !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(225, 29, 46, .18);
}

.mpfm-portal .mpfm-announcement-mini-pill.is-urgent,
.mpfm-portal .mpfm-announcement-status-pill.is-urgent {
    background: #fff1d6 !important;
    color: #9a5a00 !important;
    box-shadow: none;
}

.mpfm-portal .mpfm-announcement-mini-pill.is-pinned,
.mpfm-portal .mpfm-announcement-badge-pinned,
.mpfm-portal .mpfm-announcement-status-badge.is-pinned {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-meta-line {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--mpfm-muted, #667085);
    font-size: 13px;
    line-height: 1.35;
}

.mpfm-portal .mpfm-announcement-pin {
    width: 16px;
    height: 16px;
    display: inline-flex;
    flex: 0 0 16px;
    color: #2563eb;
    transform: rotate(-18deg);
    background: currentColor;
    clip-path: polygon(44% 0, 88% 0, 88% 12%, 78% 12%, 78% 50%, 100% 68%, 100% 82%, 60% 82%, 56% 100%, 48% 100%, 44% 82%, 4% 82%, 4% 68%, 26% 50%, 26% 12%, 44% 12%);
}

.mpfm-portal .mpfm-announcement-file-card em {
    display: block;
    margin: 0;
    max-width: 100%;
    color: var(--mpfm-muted, #667085);
    font-size: 14px;
    line-height: 1.55;
    font-style: normal;
}

.mpfm-portal .mpfm-announcement-file-actions {
    min-width: 0 !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.mpfm-portal .mpfm-announcement-read-state,
.mpfm-portal [data-mpfm-announcement-viewed-state],
.mpfm-portal .mpfm-announcement-viewed-pill,
.mpfm-portal .mpfm-announcement-viewed-label,
.mpfm-portal .mpfm-announcement-actions .is-viewed {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-file-card[data-announcement-viewed="1"] .mpfm-announcement-inline-badges:empty,
.mpfm-portal .mpfm-announcement-file-card:not(.is-new):not(.is-urgent) .mpfm-announcement-inline-badges:empty {
    display: none !important;
}

.mpfm-portal .mpfm-announcement-view-actions {
    justify-content: flex-end;
}

.mpfm-portal .mpfm-announcement-view-actions [data-mpfm-announcement-mark-viewed] {
    display: none !important;
}

@media (max-width: 980px) {
    .mpfm-portal .mpfm-member-announcements-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .mpfm-portal .mpfm-announcement-file-card .mpfm-file-card-main {
        padding-right: 0 !important;
        padding-top: 36px;
    }
    .mpfm-portal .mpfm-announcement-inline-badges {
        top: 16px;
        right: 16px;
    }
    .mpfm-portal .mpfm-announcement-file-actions .mpfm-button {
        flex: 1 1 auto;
        justify-content: center;
    }
}


/* v0.15.39 - Overview shortcut dashboard order, icons, and simple NEW badges. */
.mpfm-portal .mpfm-overview-shortcut-grid {
    align-items: stretch;
}

.mpfm-portal .mpfm-overview-card {
    position: relative;
    min-height: 182px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    cursor: pointer;
    overflow: hidden;
}

.mpfm-portal .mpfm-overview-card:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(71,124,243,.10), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.92));
    opacity: .75;
    pointer-events: none;
}

.mpfm-portal .mpfm-overview-card > * {
    position: relative;
    z-index: 1;
}

.mpfm-portal .mpfm-overview-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 2px;
}

.mpfm-portal .mpfm-overview-icon {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, var(--mpfm-primary, #071a33), var(--mpfm-primary-3, #123a6a));
    box-shadow: 0 14px 30px rgba(7,26,51,.16);
    flex: 0 0 auto;
}

.mpfm-portal .mpfm-overview-icon svg {
    width: 23px;
    height: 23px;
    display: block;
}

.mpfm-portal .mpfm-overview-new-badge {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #1d4ed8;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(71,124,243,.16);
}

.mpfm-portal .mpfm-overview-kicker {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: 7px 12px;
    background: #eef4ff;
    color: #254c84;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.mpfm-portal .mpfm-overview-card h3 {
    margin: 0;
}

.mpfm-portal .mpfm-overview-card p {
    margin: 0;
}

.mpfm-portal .mpfm-overview-card-announcements .mpfm-overview-icon {
    background: linear-gradient(135deg, #0e2b52, #477cf3);
}

.mpfm-portal .mpfm-overview-card-files .mpfm-overview-icon {
    background: linear-gradient(135deg, #123a6a, #0f6f86);
}

.mpfm-portal .mpfm-overview-card-projects .mpfm-overview-icon {
    background: linear-gradient(135deg, #071a33, #7157f6);
}

.mpfm-portal .mpfm-overview-card-library .mpfm-overview-icon {
    background: linear-gradient(135deg, #0e2b52, #d4a72c);
}

.mpfm-portal .mpfm-overview-card-profile .mpfm-overview-icon {
    background: linear-gradient(135deg, #071a33, #3b82f6);
}

.mpfm-portal .mpfm-overview-card-membership .mpfm-overview-icon {
    background: linear-gradient(135deg, #071a33, #b8892f);
}

@media (max-width: 980px) {
    .mpfm-portal .mpfm-dashboard-grid.mpfm-overview-shortcut-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .mpfm-portal .mpfm-dashboard-grid.mpfm-overview-shortcut-grid {
        grid-template-columns: 1fr;
    }

    .mpfm-portal .mpfm-overview-card {
        min-height: 160px;
    }
}


/* v0.15.40 - Overview card label cleanup: red NEW badge and blue title beside icon. */
.mpfm-portal .mpfm-overview-card-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.mpfm-portal .mpfm-overview-type-label {
    color: #1f4f91;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .035em;
    line-height: 1.1;
    white-space: nowrap;
}

.mpfm-portal .mpfm-overview-kicker {
    display: none !important;
}

.mpfm-portal .mpfm-overview-new-badge {
    background: #fff1f2;
    color: #dc2626;
    border: 1px solid rgba(220, 38, 38, .16);
    box-shadow: 0 10px 22px rgba(220, 38, 38, .12);
}

@media (max-width: 520px) {
    .mpfm-portal .mpfm-overview-card-top {
        align-items: center;
    }

    .mpfm-portal .mpfm-overview-type-label {
        font-size: 12px;
        white-space: normal;
    }
}


/* v0.15.41 - Overview cards: icon-only header, no repeated small title. */
.mpfm-portal .mpfm-overview-type-label {
    display: none !important;
}

.mpfm-portal .mpfm-overview-card-label {
    display: contents;
}

.mpfm-portal .mpfm-overview-card-top {
    align-items: flex-start;
}



/* v0.15.42 - Confidential file badge and unlock context. */
.mpfm-portal .mpfm-file-confidential-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff7e6;
    color: #9a5b00;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
    border: 1px solid rgba(214, 168, 73, .26);
}


/* v0.15.50 - Public Member Directory */
.mpfm-public-directory {
    --mpfm-dir-primary: var(--mpfm-primary, #071a33);
    --mpfm-dir-border: var(--mpfm-border, #dbe3ef);
    --mpfm-dir-muted: var(--mpfm-muted, #667085);
    width: min(100%, 1220px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) 18px;
    box-sizing: border-box;
}

.mpfm-public-directory-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(219, 227, 239, .9);
    border-radius: 32px;
    padding: clamp(26px, 4vw, 48px);
    background:
        radial-gradient(circle at 92% 12%, rgba(71,124,243,.16), transparent 34%),
        linear-gradient(135deg, #ffffff, #f7fbff);
    box-shadow: 0 24px 70px rgba(7,26,51,.09);
    margin-bottom: 20px;
}

.mpfm-public-directory-hero h2 {
    margin: 8px 0 8px;
    color: var(--mpfm-dir-primary);
    font-size: clamp(34px, 5vw, 58px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 950;
}

.mpfm-public-directory-hero p:not(.mpfm-eyebrow) {
    margin: 0;
    max-width: 780px;
    color: var(--mpfm-dir-muted);
    font-size: 16px;
    line-height: 1.65;
}

.mpfm-public-directory-toolbar {
    display: grid;
    grid-template-columns: minmax(230px, 1.4fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(140px, .7fr) auto minmax(110px, auto);
    gap: 12px;
    align-items: end;
    margin: 0 0 20px;
    padding: 16px;
    border: 1px solid rgba(21,59,109,.13);
    border-radius: 24px;
    background: linear-gradient(145deg,#fff,#f7fbff);
    box-shadow: 0 18px 45px rgba(7,26,51,.06);
}

.mpfm-public-directory-toolbar label {
    display: grid;
    gap: 7px;
    margin: 0;
    min-width: 0;
}

.mpfm-public-directory-toolbar label > span {
    color: #617086;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mpfm-public-directory-toolbar input,
.mpfm-public-directory-toolbar select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d7e1ee;
    border-radius: 15px;
    background: #fff;
    padding: 0 13px;
    color: #071a33;
    font-weight: 750;
    box-sizing: border-box;
}

.mpfm-public-directory-count {
    min-height: 44px;
    border-radius: 16px;
    background: #071a33;
    color: #fff;
    padding: 8px 13px;
    display: grid;
    align-content: center;
    justify-items: start;
    line-height: 1.05;
}

.mpfm-public-directory-count strong {
    font-size: 17px;
    font-weight: 950;
}

.mpfm-public-directory-count span {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .8;
}

.mpfm-public-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mpfm-public-member-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 100%;
    padding: 22px;
    border: 1px solid var(--mpfm-dir-border);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(7,26,51,.07);
    overflow: hidden;
    text-align: left;
}

.mpfm-public-member-card:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #071a33, #477cf3);
    opacity: .92;
}

.mpfm-public-member-card-top {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.mpfm-public-member-avatar {
    position: relative;
    width: 76px;
    height: 76px;
    border-radius: 24px;
    flex: 0 0 auto;
}

.mpfm-public-member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
    background: #f1f5f9;
    box-shadow: 0 12px 28px rgba(7,26,51,.12);
}

.mpfm-public-member-avatar .mpfm-avatar-membership-badge {
    --mpfm-badge-size: 28px;
    right: -5px;
    bottom: -5px;
    border-width: 3px;
}

.mpfm-public-member-avatar.is-large {
    width: 104px;
    height: 104px;
    border-radius: 30px;
}

.mpfm-public-member-avatar.is-large .mpfm-avatar-membership-badge {
    --mpfm-badge-size: 34px;
}

.mpfm-public-member-main {
    min-width: 0;
}

.mpfm-public-member-main h3 {
    margin: 2px 0 7px;
    color: var(--mpfm-dir-primary);
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 950;
}

.mpfm-public-member-main p,
.mpfm-public-member-location,
.mpfm-public-member-preview {
    color: var(--mpfm-dir-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.mpfm-public-member-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.mpfm-public-member-badges span,
.mpfm-public-profile-credential {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #1f4f91;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1;
}

.mpfm-public-profile-credential {
    width: fit-content;
    margin: 14px 0 0;
}

.mpfm-public-member-interests {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: auto;
}

.mpfm-public-member-interests em {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #dbe3ef;
    color: #4b5f7a;
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
    line-height: 1;
}

.mpfm-public-member-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
    margin-top: 4px;
}

.mpfm-public-profile-modal[hidden] {
    display: none !important;
}

.mpfm-public-profile-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.mpfm-public-profile-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7,26,51,.72);
    backdrop-filter: blur(7px);
}

.mpfm-public-profile-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 760px);
    max-height: calc(100vh - 48px);
    overflow: auto;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 30px;
    box-shadow: 0 35px 95px rgba(0,0,0,.34);
    padding: clamp(22px, 3vw, 34px);
    box-sizing: border-box;
}

.mpfm-public-profile-close {
    position: absolute;
    right: 18px;
    top: 18px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: #eef4ff;
    color: #071a33;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
}

.mpfm-public-profile-header {
    display: flex;
    gap: 18px;
    align-items: center;
    padding-right: 44px;
}

.mpfm-public-profile-header h3 {
    margin: 4px 0 8px;
    color: #071a33;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 950;
}

.mpfm-public-profile-header p {
    margin: 0 0 6px;
    color: #667085;
    line-height: 1.45;
}

.mpfm-public-profile-bio,
.mpfm-public-profile-interests {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #dbe3ef;
}

.mpfm-public-profile-bio h4,
.mpfm-public-profile-interests h4 {
    margin: 0 0 10px;
    color: #071a33;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: -.02em;
}

.mpfm-public-profile-bio p {
    margin: 0;
    color: #3f4f64;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 1020px) {
    .mpfm-public-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mpfm-public-directory-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .mpfm-public-directory {
        padding-inline: 12px;
    }

    .mpfm-public-directory-grid,
    .mpfm-public-directory-toolbar {
        grid-template-columns: 1fr;
    }

    .mpfm-public-member-card-top,
    .mpfm-public-profile-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .mpfm-public-profile-header {
        padding-right: 42px;
    }
}


/* v0.15.52 - Public directory full width and clickable badge definitions. */
.mpfm-public-directory {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.mpfm-public-directory-hero,
.mpfm-public-directory-toolbar,
.mpfm-public-directory-grid,
.mpfm-public-directory > .mpfm-empty-state,
.mpfm-public-directory-empty {
    width: min(100% - 36px, 1320px);
    margin-left: auto;
    margin-right: auto;
}

.mpfm-public-member-badges span:not(:first-child),
.mpfm-public-profile-credential {
    display: none !important;
}

.mpfm-public-member-avatar {
    overflow: visible;
}

.mpfm-public-badge-click-target {
    position: absolute;
    right: -7px;
    bottom: -7px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    z-index: 8;
    padding: 0;
}

.mpfm-public-badge-click-target.is-large {
    width: 42px;
    height: 42px;
    right: -8px;
    bottom: -8px;
}

.mpfm-public-badge-click-target:focus-visible {
    outline: 3px solid rgba(71,124,243,.52);
    outline-offset: 4px;
}

.mpfm-public-badge-modal[hidden] {
    display: none !important;
}

.mpfm-public-badge-modal {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.mpfm-public-badge-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7,26,51,.74);
    backdrop-filter: blur(8px);
}

.mpfm-public-badge-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.22);
    background:
        radial-gradient(circle at 90% 10%, rgba(71,124,243,.14), transparent 34%),
        linear-gradient(145deg, #ffffff, #f8fbff);
    box-shadow: 0 35px 95px rgba(0,0,0,.34);
    padding: clamp(24px, 4vw, 36px);
    box-sizing: border-box;
    text-align: left;
}

.mpfm-public-badge-close {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: #eef4ff;
    color: #071a33;
    font-size: 24px;
    font-weight: 950;
    cursor: pointer;
}

.mpfm-public-badge-visual {
    width: 76px;
    height: 76px;
    border-radius: 24px;
    background: linear-gradient(135deg, #071a33, #173e72);
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    box-shadow: 0 18px 44px rgba(7,26,51,.18);
}

.mpfm-public-badge-demo {
    position: relative;
    display: block;
    width: 54px;
    height: 54px;
}

.mpfm-public-badge-demo .mpfm-avatar-membership-badge {
    position: static;
    transform: none;
    --mpfm-badge-size: 54px;
    width: 54px;
    height: 54px;
    border-width: 0;
    box-shadow: none;
}

.mpfm-public-badge-demo-fallback {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: #d4a72c;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 950;
}

.mpfm-public-badge-dialog h3 {
    margin: 8px 0 12px;
    color: #071a33;
    font-size: clamp(26px, 4vw, 38px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 950;
}

.mpfm-public-badge-dialog p:not(.mpfm-eyebrow) {
    margin: 0;
    color: #4b5f7a;
    font-size: 16px;
    line-height: 1.72;
}

@media (max-width: 680px) {
    .mpfm-public-directory-hero,
    .mpfm-public-directory-toolbar,
    .mpfm-public-directory-grid,
    .mpfm-public-directory > .mpfm-empty-state,
    .mpfm-public-directory-empty {
        width: min(100% - 24px, 1320px);
    }
}


/* v0.15.53 - True full-browser-width public directory sizing. */
.mpfm-public-directory {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
    padding-left: 0;
    padding-right: 0;
    overflow-x: clip;
}

.mpfm-public-directory-hero,
.mpfm-public-directory-toolbar,
.mpfm-public-directory-grid,
.mpfm-public-directory > .mpfm-empty-state,
.mpfm-public-directory-empty {
    width: min(calc(100vw - clamp(28px, 4vw, 72px)), 1760px);
    max-width: none;
}

@media (min-width: 1440px) {
    .mpfm-public-directory-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (min-width: 1021px) and (max-width: 1439px) {
    .mpfm-public-directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .mpfm-public-directory {
        left: auto;
        right: auto;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        overflow-x: visible;
    }

    .mpfm-public-directory-hero,
    .mpfm-public-directory-toolbar,
    .mpfm-public-directory-grid,
    .mpfm-public-directory > .mpfm-empty-state,
    .mpfm-public-directory-empty {
        width: min(100% - 24px, 1320px);
    }
}

/* v0.15.55 - Dedicated LinkedIn-style public member profile pages. */
body.mpfm-public-profile-route .mpfm-public-profile-page-shell {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow-x: clip;
    background:
        radial-gradient(circle at 12% 6%, rgba(71,124,243,.10), transparent 32%),
        linear-gradient(180deg, #f5f8fc 0%, #ffffff 54%, #f8fafc 100%);
}

.mpfm-public-profile-page {
    --mpfm-profile-primary: var(--mpfm-primary, #071a33);
    --mpfm-profile-muted: var(--mpfm-muted, #667085);
    --mpfm-profile-border: var(--mpfm-border, #dbe3ef);
    width: min(calc(100vw - clamp(28px, 4vw, 72px)), 1500px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 54px) 0 clamp(34px, 5vw, 72px);
    box-sizing: border-box;
    color: var(--mpfm-profile-primary);
}

.mpfm-public-profile-hero-panel {
    position: relative;
    overflow: visible;
    z-index: 40;
    border: 1px solid rgba(219, 227, 239, .92);
    border-radius: 34px;
    background:
        radial-gradient(circle at 88% 12%, rgba(71,124,243,.20), transparent 32%),
        linear-gradient(135deg, #ffffff, #f7fbff);
    box-shadow: 0 28px 78px rgba(7,26,51,.10);
    padding: clamp(22px, 4vw, 42px);
    margin-bottom: 20px;
}

.mpfm-public-profile-hero-panel:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    background: linear-gradient(90deg, #071a33, #477cf3, #9fbcff);
    border-radius: 34px 34px 0 0;
    pointer-events: none;
}

.mpfm-public-profile-back-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: clamp(20px, 3vw, 34px);
    color: #617086;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.mpfm-public-profile-back-link {
    color: #1f4f91;
    text-decoration: none;
    font-weight: 950;
    letter-spacing: .01em;
    text-transform: none;
}

.mpfm-public-profile-back-link:hover,
.mpfm-public-profile-post-item h3 a:hover {
    text-decoration: underline;
}

.mpfm-public-profile-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(18px, 3vw, 32px);
    align-items: center;
}

.mpfm-public-profile-photo-wrap {
    width: clamp(112px, 12vw, 160px);
    height: clamp(112px, 12vw, 160px);
    border-radius: 38px;
    padding: 7px;
    background: linear-gradient(135deg, #071a33, #477cf3);
    box-shadow: 0 24px 56px rgba(7,26,51,.18);
}

.mpfm-public-profile-photo {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 32px;
    overflow: visible;
}

.mpfm-public-profile-photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    background: #eef4ff;
}

.mpfm-public-profile-photo .mpfm-avatar-membership-badge {
    --mpfm-badge-size: 40px;
    right: -8px;
    bottom: -8px;
    border-width: 4px;
}

.mpfm-public-profile-title-block h1 {
    margin: 8px 0 10px;
    color: var(--mpfm-profile-primary);
    font-size: clamp(38px, 6vw, 72px);
    line-height: .92;
    letter-spacing: -.065em;
    font-weight: 950;
}

.mpfm-public-profile-headline,
.mpfm-public-profile-location {
    margin: 0 0 7px;
    color: var(--mpfm-profile-muted);
    font-size: 16px;
    line-height: 1.55;
}

.mpfm-public-profile-headline {
    max-width: 840px;
    color: #30445f;
    font-weight: 750;
}

.mpfm-public-profile-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    align-self: end;
}

.mpfm-public-profile-layout {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.mpfm-public-profile-sidebar {
    display: grid;
    gap: 16px;
    position: sticky;
    top: 22px;
}

.mpfm-public-profile-side-card,
.mpfm-public-profile-feed-card,
.mpfm-public-profile-unavailable {
    border: 1px solid rgba(219, 227, 239, .96);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 48px rgba(7,26,51,.07);
    padding: clamp(20px, 3vw, 28px);
    box-sizing: border-box;
}

.mpfm-public-profile-side-card h2,
.mpfm-public-profile-feed-card h2,
.mpfm-public-profile-unavailable h1 {
    margin: 0 0 16px;
    color: var(--mpfm-profile-primary);
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -.035em;
    font-weight: 950;
}

.mpfm-public-profile-fact {
    display: grid;
    gap: 5px;
    padding: 13px 0;
    border-top: 1px solid rgba(219, 227, 239, .78);
}

.mpfm-public-profile-fact:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.mpfm-public-profile-fact span {
    color: #617086;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.mpfm-public-profile-fact strong {
    color: #243954;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 850;
}

.mpfm-public-profile-fact.is-long strong {
    font-weight: 700;
}

.mpfm-public-profile-main-feed {
    display: grid;
    gap: 20px;
}

.mpfm-public-profile-section-head {
    margin-bottom: 16px;
}

.mpfm-public-profile-section-head.with-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.mpfm-public-profile-section-head h2 {
    margin-bottom: 0;
    font-size: clamp(25px, 3vw, 36px);
}

.mpfm-public-profile-section-head.with-meta > span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #1f4f91;
    padding: 7px 12px;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mpfm-public-profile-richtext {
    color: #344963;
    font-size: 16px;
    line-height: 1.78;
}

.mpfm-public-profile-richtext.is-compact {
    font-size: 14px;
    line-height: 1.65;
}

.mpfm-public-profile-richtext p {
    margin: 0 0 1em;
}

.mpfm-public-profile-richtext p:last-child {
    margin-bottom: 0;
}

.mpfm-public-profile-richtext a {
    color: #1f4f91;
    font-weight: 850;
    text-decoration: none;
}

.mpfm-public-profile-richtext a:hover {
    text-decoration: underline;
}

.mpfm-public-profile-credential-card p,
.mpfm-public-profile-empty-note,
.mpfm-public-profile-unavailable p {
    margin: 0;
    color: var(--mpfm-profile-muted);
    font-size: 15px;
    line-height: 1.7;
}

.mpfm-public-profile-credential-inline {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.mpfm-public-profile-credential-badge {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #f8fafc;
}

.mpfm-public-profile-credential-badge .mpfm-avatar-membership-badge {
    position: static;
    transform: none;
    --mpfm-badge-size: 38px;
    width: 38px;
    height: 38px;
    border-width: 0;
    box-shadow: none;
}

.mpfm-public-profile-credential-inline strong {
    color: var(--mpfm-profile-primary);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 950;
}

.mpfm-public-profile-post-list {
    display: grid;
    gap: 14px;
}

.mpfm-public-profile-post-item {
    border: 1px solid rgba(219, 227, 239, .85);
    border-radius: 22px;
    background: linear-gradient(145deg, #ffffff, #f9fbff);
    padding: 18px;
}

.mpfm-public-profile-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 9px;
}

.mpfm-public-profile-post-meta span,
.mpfm-public-profile-post-meta time {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    padding: 5px 9px;
    background: #f2f6fb;
    color: #53677f;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.mpfm-public-profile-post-item h3 {
    margin: 0 0 9px;
    font-size: 21px;
    line-height: 1.18;
    letter-spacing: -.035em;
    font-weight: 950;
}

.mpfm-public-profile-post-item h3 a {
    color: var(--mpfm-profile-primary);
    text-decoration: none;
}

.mpfm-public-profile-post-item p {
    margin: 0;
    color: var(--mpfm-profile-muted);
    font-size: 14px;
    line-height: 1.62;
}

.mpfm-public-profile-unavailable {
    max-width: 760px;
    margin: 0 auto;
    text-align: left;
}

.mpfm-public-profile-unavailable h1 {
    font-size: clamp(34px, 5vw, 54px);
    margin: 8px 0 12px;
}

.mpfm-public-profile-unavailable .mpfm-button {
    margin-top: 22px;
}

@media (max-width: 1040px) {
    .mpfm-public-profile-identity,
    .mpfm-public-profile-layout {
        grid-template-columns: 1fr;
    }

    .mpfm-public-profile-actions {
        justify-content: flex-start;
        align-self: auto;
    }

    .mpfm-public-profile-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    body.mpfm-public-profile-route .mpfm-public-profile-page-shell {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        overflow-x: visible;
    }

    .mpfm-public-profile-page {
        width: min(100% - 24px, 1500px);
    }

    .mpfm-public-profile-back-row,
    .mpfm-public-profile-section-head.with-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .mpfm-public-profile-sidebar {
        grid-template-columns: 1fr;
    }

    .mpfm-public-profile-photo-wrap {
        width: 118px;
        height: 118px;
        border-radius: 32px;
    }

    .mpfm-public-profile-photo {
        border-radius: 26px;
    }
}


/* v0.15.57: Public profile professional link icons */
.mpfm-public-profile-hero-social-icons .mpfm-social-icon:hover {
    background: #eef6ff;
    border-color: rgba(31,79,145,.24);
}
.mpfm-public-profile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.mpfm-public-profile-hero-social-icons {
    margin-top: 0;
    justify-content: flex-end;
}
.mpfm-public-profile-hero-social-icons .mpfm-social-icon {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(21,59,109,.14);
    background: rgba(255,255,255,.93);
    color: #143b6d;
}
.mpfm-public-profile-links-card h2 {
    margin-bottom: 14px;
}
.mpfm-public-profile-link-list {
    display: grid;
    gap: 10px;
}
.mpfm-public-profile-link-row {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 18px;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 18px;
    background: linear-gradient(145deg,#ffffff,#f7fbff);
    border: 1px solid rgba(21,59,109,.10);
    box-shadow: 0 10px 24px rgba(7,26,51,.05);
    color: #143b6d;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.mpfm-public-profile-link-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(7,26,51,.10);
    border-color: rgba(31,79,145,.24);
    background: #ffffff;
}
.mpfm-public-profile-link-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#071a33,#143b6d);
    color: #ffffff;
    font-size: 14px;
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(20,59,109,.18);
}
.mpfm-public-profile-link-text {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.mpfm-public-profile-link-text strong {
    display: block;
    color: #071a33;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.18;
}
.mpfm-public-profile-link-text em {
    display: block;
    color: #65758c;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mpfm-public-profile-link-arrow {
    color: #8aa0bb;
    font-size: 14px;
    font-weight: 950;
}
@media (max-width: 680px) {
    .mpfm-public-member-actions {
        align-items: flex-start;
    }
    .mpfm-public-profile-actions,
    .mpfm-public-profile-hero-social-icons {
        justify-content: flex-start;
    }
}

/* v0.15.58: Directory cards intentionally keep professional links hidden; links appear inside the public profile page only. */
.mpfm-public-directory .mpfm-public-directory-social-icons {
    display: none !important;
}


/* v0.15.60: Keep public directory mobile cards aligned with the desktop/PC card header layout. */
@media (max-width: 680px) {
    .mpfm-public-directory .mpfm-public-member-card-top {
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 14px;
    }

    .mpfm-public-directory .mpfm-public-member-avatar {
        width: 86px;
        height: 86px;
        border-radius: 24px;
    }

    .mpfm-public-directory .mpfm-public-member-avatar .mpfm-avatar-membership-badge {
        --mpfm-badge-size: 30px;
        right: -5px;
        bottom: -5px;
    }

    .mpfm-public-directory .mpfm-public-badge-click-target {
        width: 36px;
        height: 36px;
        right: -8px;
        bottom: -8px;
    }

    .mpfm-public-directory .mpfm-public-member-main {
        flex: 1 1 auto;
        min-width: 0;
        padding-top: 2px;
    }

    .mpfm-public-directory .mpfm-public-member-main h3 {
        margin-top: 0;
        font-size: 24px;
        line-height: 1.08;
    }

    .mpfm-public-directory .mpfm-public-member-main p {
        font-size: 15px;
        line-height: 1.45;
    }

    .mpfm-public-directory .mpfm-public-member-badges {
        margin-top: 8px;
    }
}

@media (max-width: 420px) {
    .mpfm-public-directory .mpfm-public-member-card {
        padding: 20px;
    }

    .mpfm-public-directory .mpfm-public-member-card-top {
        gap: 12px;
    }

    .mpfm-public-directory .mpfm-public-member-avatar {
        width: 78px;
        height: 78px;
        border-radius: 22px;
    }

    .mpfm-public-directory .mpfm-public-member-main h3 {
        font-size: 22px;
    }

    .mpfm-public-directory .mpfm-public-member-main p {
        font-size: 14px;
    }

    .mpfm-public-directory .mpfm-public-member-badges span {
        font-size: 9px;
        padding: 5px 9px;
        letter-spacing: .055em;
    }
}

/* v0.15.65: Public profile related posts as Facebook-style publication cards. */
.mpfm-public-profile-post-list {
    gap: 18px;
}

.mpfm-public-profile-social-post-card {
    overflow: hidden;
    padding: 0;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid rgba(219, 227, 239, .95);
    box-shadow: 0 18px 44px rgba(15, 39, 75, .06);
}

.mpfm-public-profile-social-post-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 18px 10px;
}

.mpfm-public-profile-social-post-avatar {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 999px;
    overflow: hidden;
    background: #eef4fb;
    box-shadow: 0 10px 20px rgba(16, 36, 68, .12);
}

.mpfm-public-profile-social-post-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mpfm-public-profile-social-post-author-text {
    min-width: 0;
    flex: 1 1 auto;
}

.mpfm-public-profile-social-post-author-text strong {
    display: block;
    color: var(--mpfm-profile-primary);
    font-size: 16px;
    line-height: 1.16;
    font-weight: 950;
    letter-spacing: -.02em;
}

.mpfm-public-profile-social-post-author-text span {
    display: block;
    margin-top: 4px;
    color: #61738a;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 750;
}

.mpfm-public-profile-social-post-type {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border-radius: 999px;
    padding: 6px 10px;
    background: #f2f6fb;
    color: #53677f;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mpfm-public-profile-social-post-body {
    padding: 8px 18px 16px;
}

.mpfm-public-profile-social-post-body h3,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card h3 {
    margin: 0 0 10px;
    font-size: clamp(21px, 2.1vw, 30px);
    line-height: 1.12;
    letter-spacing: -.045em;
    font-weight: 950;
}

.mpfm-public-profile-social-post-body h3 a {
    color: var(--mpfm-profile-primary);
    text-decoration: none;
}

.mpfm-public-profile-social-post-body h3 a:hover {
    color: #154c91;
}

.mpfm-public-profile-social-post-body p,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card p {
    margin: 0;
    color: var(--mpfm-profile-muted);
    font-size: 15px;
    line-height: 1.65;
}

.mpfm-public-profile-social-post-image {
    display: block;
    width: 100%;
    border-top: 1px solid rgba(219, 227, 239, .85);
    border-bottom: 1px solid rgba(219, 227, 239, .85);
    background: #eef4fb;
    overflow: hidden;
    text-decoration: none;
}

.mpfm-public-profile-social-post-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 240px;
    max-height: 460px;
    object-fit: cover;
    display: block;
    transition: transform .28s ease, filter .28s ease;
}

.mpfm-public-profile-social-post-image:hover img {
    transform: scale(1.018);
    filter: saturate(1.04);
}

.mpfm-public-profile-social-post-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 14px 18px 18px;
}

.mpfm-public-profile-social-post-read {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 999px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #113b70, #174d8e);
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .02em;
    box-shadow: 0 14px 28px rgba(17, 59, 112, .20);
}

.mpfm-public-profile-social-post-read:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(17, 59, 112, .25);
}

@media (max-width: 700px) {
    .mpfm-public-profile-social-post-author {
        align-items: flex-start;
        padding: 16px 16px 8px;
    }

    .mpfm-public-profile-social-post-avatar {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .mpfm-public-profile-social-post-type {
        display: none;
    }

    .mpfm-public-profile-social-post-body {
        padding: 8px 16px 14px;
    }

    .mpfm-public-profile-social-post-image img {
        min-height: 190px;
        max-height: 320px;
    }

    .mpfm-public-profile-social-post-footer {
        justify-content: stretch;
        padding: 14px 16px 16px;
    }

    .mpfm-public-profile-social-post-read {
        width: 100%;
    }
}

/* v0.15.66: Inline Read More expansion for public profile Facebook-style publication cards. */
.mpfm-public-profile-social-post-full-content[hidden] {
    display: none !important;
}

.mpfm-public-profile-social-post-full-content {
    border-top: 1px solid rgba(219, 227, 239, .85);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 20px 18px 22px;
}

.mpfm-public-profile-social-post-full-inner {
    color: #27384c;
    font-size: 16px;
    line-height: 1.76;
    overflow-wrap: anywhere;
}

.mpfm-public-profile-social-post-full-inner > *:first-child {
    margin-top: 0;
}

.mpfm-public-profile-social-post-full-inner > *:last-child {
    margin-bottom: 0;
}

.mpfm-public-profile-social-post-full-inner p,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card .mpfm-public-profile-social-post-full-inner p {
    margin: 0 0 1em;
    color: #27384c;
    font-size: 16px;
    line-height: 1.76;
}

.mpfm-public-profile-social-post-full-inner h1,
.mpfm-public-profile-social-post-full-inner h2,
.mpfm-public-profile-social-post-full-inner h3,
.mpfm-public-profile-social-post-full-inner h4 {
    margin: 1.15em 0 .55em;
    color: var(--mpfm-profile-primary);
    line-height: 1.18;
    letter-spacing: -.03em;
}

.mpfm-public-profile-social-post-full-inner ul,
.mpfm-public-profile-social-post-full-inner ol {
    margin: 0 0 1em 1.2em;
    padding: 0;
}

.mpfm-public-profile-social-post-full-inner li {
    margin: .35em 0;
}

.mpfm-public-profile-social-post-full-inner img,
.mpfm-public-profile-social-post-full-inner video {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.mpfm-public-profile-social-post-full-inner blockquote {
    margin: 1em 0;
    padding: 14px 18px;
    border-left: 4px solid #174d8e;
    border-radius: 14px;
    background: #eef5ff;
    color: #27384c;
}

.mpfm-public-profile-social-post-card.is-expanded .mpfm-public-profile-social-post-body p {
    color: #40536b;
}

.mpfm-public-profile-social-post-footer {
    gap: 10px;
    flex-wrap: wrap;
}

button.mpfm-public-profile-social-post-read {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.mpfm-public-profile-social-post-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 999px;
    padding: 10px 16px;
    background: #f1f6fb;
    color: #123b6d !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .02em;
    border: 1px solid rgba(190, 206, 226, .85);
}

.mpfm-public-profile-social-post-open:hover {
    background: #e7f0fb;
    transform: translateY(-1px);
}

@media (max-width: 700px) {
    .mpfm-public-profile-social-post-full-content {
        padding: 18px 16px 20px;
    }

    .mpfm-public-profile-social-post-full-inner,
    .mpfm-public-profile-social-post-full-inner p,
    .mpfm-public-profile-post-item.mpfm-public-profile-social-post-card .mpfm-public-profile-social-post-full-inner p {
        font-size: 15px;
        line-height: 1.72;
    }

    .mpfm-public-profile-social-post-open {
        width: 100%;
    }
}

/* v0.15.67: Facebook-style profile feed actions, inline See more, reactions, comments, and share. */
.mpfm-public-profile-social-post-author {
    position: relative;
    padding: 18px 18px 8px;
}

.mpfm-public-profile-social-post-more {
    width: 38px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #607086;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 2px;
    cursor: default;
    line-height: 1;
}

.mpfm-public-profile-social-post-more:hover {
    background: #f2f6fb;
}

.mpfm-public-profile-social-post-body {
    padding: 8px 18px 14px;
}

.mpfm-public-profile-social-post-body .mpfm-public-profile-social-post-type {
    margin-bottom: 10px;
}

.mpfm-public-profile-social-post-body h3,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card h3 {
    margin-bottom: 10px;
}

.mpfm-public-profile-social-post-preview {
    color: #26384f;
    font-size: 15px;
    line-height: 1.62;
}

.mpfm-public-profile-social-post-preview p,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card .mpfm-public-profile-social-post-preview p {
    display: inline;
    color: #26384f;
    font-size: 15px;
    line-height: 1.62;
    margin: 0;
}

.mpfm-public-profile-social-post-see-more {
    display: inline;
    border: 0;
    background: transparent;
    padding: 0 0 0 4px;
    color: #4b5d74;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.mpfm-public-profile-social-post-see-more:hover,
.mpfm-public-profile-social-post-see-more:focus {
    color: #123b6d;
    text-decoration: underline;
}

.mpfm-public-profile-social-post-full-content {
    border-top: 0;
    background: #ffffff;
    padding: 14px 0 4px;
}

.mpfm-public-profile-social-post-full-inner {
    color: #26384f;
    font-size: 15px;
    line-height: 1.7;
}

.mpfm-public-profile-social-post-full-inner p,
.mpfm-public-profile-post-item.mpfm-public-profile-social-post-card .mpfm-public-profile-social-post-full-inner p {
    color: #26384f;
    font-size: 15px;
    line-height: 1.7;
}

.mpfm-public-profile-social-post-card.is-expanded .mpfm-public-profile-social-post-preview p {
    display: none;
}

.mpfm-public-profile-social-post-image {
    cursor: default;
}

.mpfm-public-profile-social-post-image:hover img {
    transform: none;
    filter: none;
}

.mpfm-public-profile-social-post-stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 18px 9px;
    color: #596b81;
    font-size: 13px;
    font-weight: 800;
}

.mpfm-public-profile-social-reaction-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #596b81;
}

.mpfm-public-profile-social-reaction-count::first-letter {
    color: #df3045;
}

.mpfm-public-profile-social-comment-count {
    border: 0;
    background: transparent;
    color: #596b81;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    padding: 0;
}

.mpfm-public-profile-social-comment-count:hover {
    text-decoration: underline;
}

.mpfm-public-profile-social-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 6px;
    margin: 0 18px;
    padding: 6px 0;
    border-top: 1px solid rgba(219, 227, 239, .95);
    border-bottom: 1px solid rgba(219, 227, 239, .95);
}

.mpfm-public-profile-social-action {
    min-height: 42px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #596b81;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.mpfm-public-profile-social-action:hover {
    background: #f2f6fb;
    color: #123b6d;
}

.mpfm-public-profile-social-action.is-active {
    color: #174d8e;
}

.mpfm-public-profile-social-action span {
    line-height: 1;
    font-size: 16px;
}

.mpfm-public-profile-social-action.is-loading {
    opacity: .65;
    pointer-events: none;
}

.mpfm-public-profile-social-comments {
    padding: 12px 18px 18px;
    background: #ffffff;
}

.mpfm-public-profile-social-comments-list {
    display: grid;
    gap: 10px;
}

.mpfm-public-profile-social-comments-list:empty {
    display: none;
}

.mpfm-public-profile-social-comment {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.mpfm-public-profile-social-comment-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 999px;
    object-fit: cover;
    background: #eef4fb;
}

.mpfm-public-profile-social-comment-main {
    min-width: 0;
    flex: 1 1 auto;
}

.mpfm-public-profile-social-comment-bubble {
    display: inline-block;
    max-width: 100%;
    border-radius: 18px;
    padding: 9px 12px;
    background: #f2f4f7;
    color: #1d2e43;
}

.mpfm-public-profile-social-comment-bubble strong {
    display: block;
    margin-bottom: 2px;
    color: #071a33;
    font-size: 13px;
    font-weight: 950;
}

.mpfm-public-profile-social-comment-text,
.mpfm-public-profile-social-comment-text p {
    color: #1d2e43 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

.mpfm-public-profile-social-comment-meta {
    padding: 3px 0 0 10px;
    color: #718197;
    font-size: 11px;
    font-weight: 800;
}

.mpfm-public-profile-social-comment-form {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
}

.mpfm-public-profile-social-comment-input-wrap {
    position: relative;
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.mpfm-public-profile-social-comment-input-wrap textarea {
    flex: 1 1 auto;
    width: 100%;
    min-height: 42px;
    max-height: 160px;
    resize: vertical;
    border: 1px solid rgba(219, 227, 239, .95);
    border-radius: 18px;
    background: #f5f7fa;
    color: #1d2e43;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    padding: 11px 13px;
    outline: none;
}

.mpfm-public-profile-social-comment-input-wrap textarea:focus {
    border-color: rgba(23,77,142,.45);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(23,77,142,.10);
}

.mpfm-public-profile-social-comment-input-wrap button {
    min-height: 42px;
    border: 0;
    border-radius: 14px;
    padding: 0 14px;
    background: #123b6d;
    color: #ffffff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}

.mpfm-public-profile-social-comment-input-wrap button:hover {
    background: #174d8e;
}

.mpfm-public-profile-social-comment-form.is-loading button {
    opacity: .65;
    pointer-events: none;
}

.mpfm-public-profile-social-comment-message,
.mpfm-public-profile-social-share-status,
.mpfm-public-profile-social-login-note {
    margin: 9px 0 0;
    color: #607086;
    font-size: 13px;
    font-weight: 800;
}

.mpfm-public-profile-social-comment-message.is-error,
.mpfm-public-profile-social-share-status.is-error {
    color: #b42318;
}

.mpfm-public-profile-social-comment-message.is-success,
.mpfm-public-profile-social-share-status.is-success {
    color: #12663d;
}

.mpfm-public-profile-social-share-status {
    padding: 0 18px 16px;
}

@media (max-width: 700px) {
    .mpfm-public-profile-social-post-author {
        padding: 16px 16px 8px;
    }

    .mpfm-public-profile-social-post-more {
        width: 32px;
        height: 30px;
        font-size: 16px;
    }

    .mpfm-public-profile-social-post-body {
        padding: 8px 16px 14px;
    }

    .mpfm-public-profile-social-post-stats,
    .mpfm-public-profile-social-comments,
    .mpfm-public-profile-social-share-status {
        padding-left: 16px;
        padding-right: 16px;
    }

    .mpfm-public-profile-social-actions {
        margin-left: 16px;
        margin-right: 16px;
    }

    .mpfm-public-profile-social-action {
        font-size: 13px;
        gap: 6px;
    }

    .mpfm-public-profile-social-comment-input-wrap {
        flex-direction: column;
    }

    .mpfm-public-profile-social-comment-input-wrap button {
        align-self: flex-end;
    }
}

/* v0.15.68: Separate Facebook-style profile feed header from independent post cards. */
.mpfm-public-profile-timeline-feed {
    display: grid;
    gap: 16px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card {
    width: min(100%, 860px);
    margin: 0 auto;
    padding: clamp(18px, 2.5vw, 24px);
    border: 1px solid rgba(219, 227, 239, .96);
    border-radius: 26px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 36px rgba(7,26,51,.055);
    box-sizing: border-box;
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card h2 {
    margin: 0;
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card .mpfm-eyebrow {
    margin-bottom: 8px;
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-post-list {
    width: min(100%, 860px);
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-social-post-card {
    border-radius: 20px;
    border: 1px solid rgba(217, 225, 237, .96);
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 39, 75, .10);
}

.mpfm-public-profile-timeline-feed .mpfm-public-profile-empty-note {
    width: min(100%, 860px);
    margin: 0 auto;
    padding: 18px 20px;
    border: 1px solid rgba(219, 227, 239, .96);
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px rgba(7,26,51,.045);
    box-sizing: border-box;
}

@media (max-width: 700px) {
    .mpfm-public-profile-timeline-feed {
        gap: 14px;
    }

    .mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card {
        border-radius: 22px;
        padding: 18px;
    }

    .mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card.with-meta {
        align-items: flex-start;
    }

    .mpfm-public-profile-timeline-feed .mpfm-public-profile-social-post-card {
        border-radius: 18px;
    }
}

/* v0.15.69: Collapsible bio, end-of-article See less, feed menus, reports, replies, comment reactions, and share choices. */
.mpfm-public-profile-bio-collapsible .mpfm-public-profile-bio-full[hidden] {
    display: none !important;
}

.mpfm-public-profile-bio-collapsible.is-expanded .mpfm-public-profile-bio-preview {
    display: none;
}

.mpfm-public-profile-bio-read-more,
.mpfm-public-profile-bio-read-less {
    margin-left: 4px;
}

.mpfm-public-profile-bio-read-less {
    margin-top: 12px;
}

.mpfm-public-profile-social-post-card.is-expanded .mpfm-public-profile-social-post-preview {
    display: none;
}

.mpfm-public-profile-social-post-collapse-row {
    display: flex;
    justify-content: flex-start;
    padding-top: 12px;
}

.mpfm-public-profile-social-post-menu-wrap {
    position: relative;
    margin-left: auto;
    flex: 0 0 auto;
}

.mpfm-public-profile-social-post-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    width: 215px;
    padding: 8px;
    border: 1px solid rgba(219, 227, 239, .98);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(7, 26, 51, .16);
}

.mpfm-public-profile-social-post-menu[hidden] {
    display: none !important;
}

.mpfm-public-profile-social-post-menu::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 14px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    background: #ffffff;
    border-left: 1px solid rgba(219, 227, 239, .98);
    border-top: 1px solid rgba(219, 227, 239, .98);
}

.mpfm-public-profile-social-post-menu button {
    width: 100%;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #26384d;
    font-family: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    padding: 10px 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mpfm-public-profile-social-post-menu button:hover,
.mpfm-public-profile-social-post-menu button.is-saved {
    background: #f2f6fb;
    color: #123b6d;
}

.mpfm-public-profile-social-post-menu button.is-loading,
.mpfm-public-profile-social-comment-like.is-loading {
    opacity: .6;
    pointer-events: none;
}

.mpfm-public-profile-social-share-menu {
    margin: 0 18px;
    padding: 8px 0 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(219, 227, 239, .95);
}

.mpfm-public-profile-social-share-menu[hidden] {
    display: none !important;
}

.mpfm-public-profile-social-share-menu button {
    border: 1px solid rgba(190, 206, 226, .85);
    border-radius: 999px;
    background: #f6f9fc;
    color: #123b6d;
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    padding: 8px 12px;
    cursor: pointer;
}

.mpfm-public-profile-social-share-menu button:hover {
    background: #e9f2fb;
}

.mpfm-public-profile-social-comment-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.mpfm-public-profile-social-comment-like,
.mpfm-public-profile-social-comment-reply {
    border: 0;
    background: transparent;
    color: #61738a;
    font-family: inherit;
    font-size: 11px;
    font-weight: 950;
    padding: 0;
    cursor: pointer;
}

.mpfm-public-profile-social-comment-like:hover,
.mpfm-public-profile-social-comment-reply:hover,
.mpfm-public-profile-social-comment-like.is-active {
    color: #174d8e;
    text-decoration: underline;
}

.mpfm-public-profile-social-comment-like strong {
    display: inline-flex;
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #e9f2ff;
    color: #174d8e;
    align-items: center;
    justify-content: center;
    margin-left: 4px;
    font-size: 10px;
    text-decoration: none;
}

.mpfm-public-profile-social-comment-replies {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding-left: 4px;
}

.mpfm-public-profile-social-comment.depth-1,
.mpfm-public-profile-social-comment.depth-2 {
    margin-left: 12px;
}

.mpfm-public-profile-social-comment.depth-1 .mpfm-public-profile-social-comment-avatar,
.mpfm-public-profile-social-comment.depth-2 .mpfm-public-profile-social-comment-avatar {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.mpfm-public-profile-social-comment-reply-slot .mpfm-public-profile-social-comment-form {
    margin: 8px 0 0;
}

.mpfm-public-profile-social-comment-form.is-reply .mpfm-public-profile-social-comment-avatar {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.mpfm-profile-feed-report-modal[hidden] {
    display: none !important;
}

.mpfm-profile-feed-report-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: 22px;
}

.mpfm-profile-feed-report-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 26, 51, .48);
    backdrop-filter: blur(5px);
}

.mpfm-profile-feed-report-dialog {
    position: relative;
    width: min(100%, 540px);
    max-height: min(90vh, 760px);
    overflow: auto;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(7, 26, 51, .30);
    padding: 26px;
    color: #12243b;
}

.mpfm-profile-feed-report-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #12243b;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.mpfm-profile-feed-report-dialog h2 {
    margin: 0 0 6px;
    font-size: clamp(24px, 3vw, 34px);
    color: #071a33;
    letter-spacing: -.04em;
}

.mpfm-profile-feed-report-post-title {
    margin: 0 0 18px;
    color: #61738a;
    font-weight: 800;
}

.mpfm-profile-feed-report-dialog form {
    display: grid;
    gap: 15px;
}

.mpfm-profile-feed-report-dialog label {
    display: grid;
    gap: 7px;
    color: #31465f;
    font-size: 13px;
    font-weight: 950;
}

.mpfm-profile-feed-report-dialog select,
.mpfm-profile-feed-report-dialog textarea {
    width: 100%;
    border: 1px solid rgba(203, 216, 232, .95);
    border-radius: 16px;
    background: #f8fbff;
    color: #14263d;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    padding: 11px 13px;
    outline: none;
    box-sizing: border-box;
}

.mpfm-profile-feed-report-dialog textarea {
    resize: vertical;
}

.mpfm-profile-feed-report-dialog select:focus,
.mpfm-profile-feed-report-dialog textarea:focus {
    border-color: rgba(23,77,142,.45);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(23,77,142,.10);
}

.mpfm-profile-feed-report-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.mpfm-profile-feed-report-actions button {
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(190, 206, 226, .9);
    padding: 0 16px;
    background: #f4f7fb;
    color: #123b6d;
    font-family: inherit;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}

.mpfm-profile-feed-report-actions button.primary {
    border-color: #123b6d;
    background: #123b6d;
    color: #ffffff;
}

.mpfm-profile-feed-report-dialog form.is-loading button {
    opacity: .65;
    pointer-events: none;
}

@media (max-width: 700px) {
    .mpfm-public-profile-social-post-menu {
        right: -8px;
        width: 205px;
    }

    .mpfm-public-profile-social-share-menu {
        margin-left: 16px;
        margin-right: 16px;
    }

    .mpfm-profile-feed-report-dialog {
        border-radius: 22px;
        padding: 22px;
    }

    .mpfm-profile-feed-report-actions {
        justify-content: stretch;
    }

    .mpfm-profile-feed-report-actions button {
        flex: 1 1 auto;
    }
}

/* v0.15.70: Profile wall composer and Posts & Publications naming. */
.mpfm-public-profile-post-composer {
    width: min(760px, 100%);
    margin: 0 auto 18px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
    padding: 16px;
}

.mpfm-public-profile-post-composer-prompt {
    width: 100%;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 0;
    text-align: left;
}

.mpfm-public-profile-post-composer-prompt:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

.mpfm-public-profile-post-composer-prompt img {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid #e5edf7;
}

.mpfm-public-profile-post-composer-prompt span {
    flex: 1;
    display: block;
    min-height: 48px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 16px;
    line-height: 48px;
    padding: 0 20px;
    font-weight: 700;
}

.mpfm-public-profile-post-composer-prompt:hover span,
.mpfm-public-profile-post-composer.is-open .mpfm-public-profile-post-composer-prompt span {
    background: #eaf1fb;
    color: #0f3d70;
}

.mpfm-public-profile-post-composer-form {
    margin-top: 14px;
    border-top: 1px solid #e5edf7;
    padding-top: 14px;
}

.mpfm-public-profile-post-composer-form[hidden] {
    display: none;
}

.mpfm-public-profile-post-composer-count {
    color: #1d4f88;
    background: #eef5ff;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.mpfm-public-profile-post-composer-form textarea {
    width: 100%;
    border: 0;
    resize: vertical;
    min-height: 118px;
    border-radius: 18px;
    background: #f8fafc;
    padding: 16px;
    font-size: 17px;
    line-height: 1.55;
    color: #0f172a;
    outline: none;
    box-shadow: inset 0 0 0 1px #e2e8f0;
}

.mpfm-public-profile-post-composer-form textarea:focus {
    background: #ffffff;
    box-shadow: inset 0 0 0 2px #1d4f88;
}

.mpfm-public-profile-post-composer-tools,
.mpfm-public-profile-post-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.mpfm-public-profile-post-photo-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #d8e3f2;
    border-radius: 999px;
    padding: 10px 14px;
    color: #0f3d70;
    background: #ffffff;
    cursor: pointer;
    font-weight: 900;
}

.mpfm-public-profile-post-photo-button:hover {
    background: #eef5ff;
}

.mpfm-public-profile-post-photo-name {
    color: #64748b;
    font-weight: 700;
    font-size: 13px;
}

.mpfm-public-profile-post-composer-actions {
    justify-content: flex-end;
    border-top: 1px solid #e5edf7;
    padding-top: 12px;
}

.mpfm-public-profile-post-composer-actions button {
    border: 1px solid #d8e3f2;
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 900;
    cursor: pointer;
}

.mpfm-public-profile-post-composer-actions button.primary {
    border-color: #123f73;
    background: #123f73;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(18, 63, 115, 0.18);
}

.mpfm-public-profile-post-composer-actions button:disabled,
.mpfm-public-profile-post-composer-form.is-loading button,
.mpfm-public-profile-post-composer-form.is-loading label {
    opacity: 0.65;
    cursor: not-allowed;
}

.mpfm-public-profile-social-post-card.is-member-profile-post .mpfm-public-profile-social-post-body {
    padding-top: 8px;
}

.mpfm-public-profile-social-post-card.is-member-profile-post .mpfm-public-profile-social-post-preview p,
.mpfm-public-profile-social-post-card.is-member-profile-post .mpfm-public-profile-social-post-full-inner p {
    font-size: 17px;
    color: #111827;
}

@media (max-width: 640px) {
    .mpfm-public-profile-post-composer {
        border-radius: 18px;
        padding: 12px;
    }
    .mpfm-public-profile-post-composer-prompt span {
        font-size: 14px;
        padding: 0 14px;
    }
    .mpfm-public-profile-post-composer-form textarea {
        font-size: 16px;
        min-height: 104px;
    }
}

/* v0.15.71: unified feed width, list/grid switch, rich composer, required categories, tags, author edit/delete controls. */
.mpfm-public-profile-timeline-feed .mpfm-public-profile-feed-heading-card,
.mpfm-public-profile-timeline-feed .mpfm-public-profile-post-composer,
.mpfm-public-profile-timeline-feed .mpfm-public-profile-post-list,
.mpfm-public-profile-timeline-feed .mpfm-public-profile-empty-note {
    width: min(100%, 860px);
}

.mpfm-public-profile-feed-heading-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mpfm-public-profile-feed-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 999px;
    background: #f1f5f9;
    padding: 4px;
    border: 1px solid rgba(210, 221, 235, .9);
}

.mpfm-public-profile-feed-view-toggle button {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    padding: 8px 11px;
}

.mpfm-public-profile-feed-view-toggle button.is-active {
    background: #ffffff;
    color: #123f73;
    box-shadow: 0 6px 14px rgba(15, 39, 75, .10);
}

.mpfm-public-profile-post-list.is-grid-view {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-post-card {
    overflow: hidden;
}

.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-post-author-text span,
.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-post-preview p,
.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-post-full-content,
.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-comments {
    font-size: 13px;
}

.mpfm-public-profile-post-list.is-grid-view .mpfm-public-profile-social-post-image img {
    max-height: 260px;
    object-fit: cover;
}

.mpfm-public-profile-post-composer-prompt em {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #eaf1fb;
    color: #174d8e;
    padding: 9px 12px;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mpfm-public-profile-post-field,
.mpfm-public-profile-tags-field {
    display: grid;
    gap: 8px;
    margin: 12px 0;
    color: #31465f;
    font-size: 13px;
    font-weight: 950;
}

.mpfm-public-profile-post-field strong {
    color: #b42318;
}

.mpfm-public-profile-post-field select,
.mpfm-public-profile-tags-entry input {
    width: 100%;
    border: 1px solid #d8e3f2;
    border-radius: 14px;
    background: #f8fafc;
    color: #0f172a;
    font-family: inherit;
    font-size: 14px;
    padding: 11px 12px;
    outline: none;
    box-sizing: border-box;
}

.mpfm-public-profile-post-field select:focus,
.mpfm-public-profile-tags-entry input:focus,
.mpfm-public-profile-rich-editor:focus {
    background: #ffffff;
    border-color: rgba(23, 77, 142, .55);
    box-shadow: 0 0 0 4px rgba(23,77,142,.10);
}

.mpfm-public-profile-rich-composer {
    border: 1px solid #d8e3f2;
    border-radius: 18px;
    background: #f8fafc;
    overflow: hidden;
    margin: 12px 0;
}

.mpfm-public-profile-rich-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px;
    border-bottom: 1px solid #e5edf7;
    background: #ffffff;
}

.mpfm-public-profile-rich-toolbar button {
    border: 1px solid rgba(210, 221, 235, .95);
    border-radius: 10px;
    background: #f6f9fc;
    color: #123f73;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    min-height: 34px;
    padding: 6px 10px;
}

.mpfm-public-profile-rich-toolbar button:hover {
    background: #eaf1fb;
}

.mpfm-public-profile-rich-editor {
    min-height: 140px;
    padding: 16px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 17px;
    line-height: 1.55;
    outline: none;
}

.mpfm-public-profile-rich-editor:empty::before {
    content: attr(data-placeholder);
    color: #94a3b8;
}

.mpfm-public-profile-tags-entry {
    display: flex;
    gap: 8px;
}

.mpfm-public-profile-tags-entry button {
    border: 1px solid #123f73;
    border-radius: 999px;
    background: #123f73;
    color: #ffffff;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 950;
    padding: 0 16px;
}

.mpfm-public-profile-tags-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.mpfm-public-profile-tag-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d8e3f2;
    border-radius: 999px;
    background: #ffffff;
    color: #123f73;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    padding: 7px 10px;
}

.mpfm-public-profile-tag-pill strong {
    color: #64748b;
}

.mpfm-profile-feed-edit-modal .mpfm-public-profile-rich-editor {
    min-height: 180px;
}

@media (max-width: 760px) {
    .mpfm-public-profile-feed-heading-actions {
        justify-content: flex-start;
        width: 100%;
    }
    .mpfm-public-profile-post-list.is-grid-view {
        grid-template-columns: 1fr;
    }
    .mpfm-public-profile-post-composer-prompt {
        align-items: flex-start;
    }
    .mpfm-public-profile-post-composer-prompt em {
        width: 100%;
        text-align: center;
    }
    .mpfm-public-profile-tags-entry {
        flex-direction: column;
    }
    .mpfm-public-profile-tags-entry button {
        min-height: 42px;
    }
}

/* v0.15.72: follow button, stronger editor controls, notifications, and refined edit/comment UX. */
.mpfm-public-profile-follow-button {
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #123f73;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 18px;
    min-width: 118px;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.mpfm-public-profile-follow-button:hover {
    transform: translateY(-1px);
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
}

.mpfm-public-profile-follow-button strong {
    font-size: 14px;
    font-weight: 950;
}

.mpfm-public-profile-follow-button span {
    font-size: 11px;
    color: #64748b;
    font-weight: 800;
}

.mpfm-public-profile-follow-button.is-following {
    background: #123f73;
    color: #ffffff;
    border-color: #123f73;
}

.mpfm-public-profile-follow-button.is-following span {
    color: rgba(255,255,255,.78);
}

.mpfm-public-profile-follow-button.is-loading {
    opacity: .65;
    pointer-events: none;
}

.mpfm-member-notification-list-card {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    margin: 0 0 18px;
}

.mpfm-member-notification-list-card h3 {
    margin: 0 0 10px;
    color: #0f274b;
}

.mpfm-member-notification-list {
    display: grid;
    gap: 10px;
}

.mpfm-member-notification-item {
    display: grid;
    gap: 4px;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    padding: 12px;
    color: inherit;
    text-decoration: none;
    background: #f8fafc;
}

.mpfm-member-notification-item:hover {
    background: #eef5ff;
}

.mpfm-member-notification-item strong {
    color: #123f73;
}

.mpfm-member-notification-item span {
    color: #334155;
}

.mpfm-member-notification-item em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.mpfm-public-profile-rich-toolbar button[title] {
    min-width: 34px;
}

.mpfm-profile-feed-edit-modal .mpfm-profile-feed-report-dialog {
    background: #f3f6fb;
}

.mpfm-profile-feed-edit-modal form[data-mpfm-edit-form] {
    background: #ffffff;
    border: 1px solid rgba(210, 221, 235, .95);
    border-radius: 20px;
    padding: 14px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}

.mpfm-profile-feed-edit-modal .mpfm-public-profile-rich-composer {
    background: #ffffff;
    border-radius: 18px;
}

.mpfm-profile-feed-edit-modal .mpfm-public-profile-rich-editor {
    background: #ffffff;
    min-height: 220px;
    font-size: 17px;
    line-height: 1.58;
}

.mpfm-public-profile-social-comment-input-wrap textarea {
    overflow: hidden;
}

@media (max-width: 720px) {
    .mpfm-public-profile-actions {
        align-items: flex-start;
    }
    .mpfm-public-profile-follow-button {
        width: 100%;
        max-width: 210px;
    }
}

/* v0.15.73: private follower count and profile-header notification bell. */
.mpfm-public-profile-private-follower-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: #123f73;
    font-size: 12px;
    font-weight: 950;
    padding: 9px 14px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .12);
}

.mpfm-public-profile-notification-bell-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2147483000;
}

.mpfm-public-profile-notification-bell {
    position: relative;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #123f73;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.mpfm-public-profile-notification-bell:hover {
    transform: translateY(-1px);
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
}

.mpfm-public-profile-notification-bell span {
    font-size: 18px;
    line-height: 1;
}

.mpfm-public-profile-notification-bell em {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #b42318;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    box-shadow: 0 6px 14px rgba(180, 35, 24, .25);
}

.mpfm-public-profile-notification-panel {
    position: absolute;
    z-index: 2147483001;
    top: calc(100% + 12px);
    right: 0;
    width: min(390px, calc(100vw - 32px));
    max-height: 520px;
    overflow: auto;
    border: 1px solid rgba(210, 221, 235, .95);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
    color: #0f172a;
    padding: 10px;
}

.mpfm-public-profile-notification-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 8px 12px;
    border-bottom: 1px solid #e6edf7;
    margin-bottom: 8px;
}

.mpfm-public-profile-notification-head strong {
    font-size: 15px;
    font-weight: 950;
    color: #0f274b;
}

.mpfm-public-profile-notification-head button,
.mpfm-public-profile-notification-row > button {
    border: 0;
    background: transparent;
    color: #174d8e;
    cursor: pointer;
    font-size: 12px;
    font-weight: 950;
    padding: 4px 0;
}

.mpfm-public-profile-notification-head button:disabled {
    opacity: .45;
    cursor: default;
}

.mpfm-public-profile-notification-list {
    display: grid;
    gap: 8px;
}

.mpfm-public-profile-notification-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
    border: 1px solid #e6edf7;
    border-radius: 16px;
    background: #f8fafc;
    padding: 10px;
}

.mpfm-public-profile-notification-row.is-unread {
    background: #eef5ff;
    border-color: rgba(23, 77, 142, .28);
}

.mpfm-public-profile-notification-row a {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 10px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.mpfm-public-profile-notification-avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid rgba(18, 63, 115, .14);
    background: #fff;
}

.mpfm-public-profile-notification-avatar.is-placeholder {
    display: grid;
    place-items: center;
    font-size: 16px;
}

.mpfm-public-profile-notification-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.mpfm-public-profile-notification-row strong {
    color: #123f73;
    font-size: 13px;
    font-weight: 950;
}

.mpfm-public-profile-notification-row span {
    color: #334155;
    font-size: 13px;
    line-height: 1.35;
}

.mpfm-public-profile-notification-row em {
    color: #64748b;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.mpfm-public-profile-notification-empty {
    margin: 6px;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.mpfm-profile-feed-highlight {
    animation: mpfmProfileFeedHighlight 2.4s ease;
}

@keyframes mpfmProfileFeedHighlight {
    0% { box-shadow: 0 0 0 0 rgba(214, 168, 73, .0), 0 18px 44px rgba(15, 23, 42, .10); }
    18% { box-shadow: 0 0 0 8px rgba(214, 168, 73, .28), 0 18px 44px rgba(15, 23, 42, .14); }
    100% { box-shadow: 0 0 0 0 rgba(214, 168, 73, .0), 0 18px 44px rgba(15, 23, 42, .10); }
}

@media (max-width: 700px) {
    .mpfm-public-profile-notification-panel {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: min(360px, calc(100vw - 22px));
    }
    .mpfm-public-profile-private-follower-count {
        width: 100%;
    }
}


.mpfm-public-profile-view-more-comments {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    color: #173f75;
    font-weight: 800;
    font-size: 13px;
    padding: 8px 2px;
    margin: 2px 0 8px 58px;
    cursor: pointer;
}
.mpfm-public-profile-view-more-comments:hover {
    text-decoration: underline;
}
.mpfm-public-profile-social-comment-hidden[hidden] {
    display: none !important;
}

/* v0.15.81: clean public profile URL, portal public profile button, and cube-style saved library */
.mpfm-header-chip-action {
    text-decoration: none;
    color: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
    border-color: rgba(255,255,255,.26);
}
.mpfm-header-chip-action:hover,
.mpfm-header-chip-action:focus {
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 18px 34px rgba(0,0,0,.20);
}
.mpfm-header-chip-action:before {
    content: '↗';
    grid-row: 1 / span 2;
    grid-column: 1;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.16);
    color: #fff;
    font-weight: 950;
}

.mpfm-library-shell {
    display: grid;
    gap: 18px;
}
.mpfm-library-category-grid {
    align-items: stretch;
}
.mpfm-library-category-grid .mpfm-library-card {
    appearance: none;
    border: 1px solid var(--mpfm-border);
    cursor: pointer;
    text-align: left;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.mpfm-library-category-grid .mpfm-library-card:hover,
.mpfm-library-category-grid .mpfm-library-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(20, 59, 109, .36);
    box-shadow: 0 18px 42px rgba(9, 28, 55, .12);
    background: linear-gradient(135deg, #ffffff, #eef5ff);
}
.mpfm-library-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: end;
    padding: 18px;
    border: 1px solid rgba(180, 197, 222, .72);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 18px 42px rgba(9, 28, 55, .06);
}
.mpfm-library-toolbar label {
    display: grid;
    gap: 7px;
    min-width: 190px;
    flex: 1 1 190px;
}
.mpfm-library-toolbar label span {
    color: #143b6d;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.mpfm-library-toolbar input,
.mpfm-library-toolbar select {
    width: 100%;
    min-height: 46px;
    border-radius: 16px;
    border: 1px solid #dbe6f4;
    background: #fff;
    color: #10243f;
    padding: 0 14px;
    font-weight: 750;
}
.mpfm-library-search-field { flex: 2 1 320px; }
.mpfm-library-toolbar-summary {
    margin-left: auto;
    min-width: 140px;
    border-radius: 18px;
    padding: 10px 14px;
    background: #edf4ff;
    color: #143b6d;
    display: grid;
    gap: 2px;
}
.mpfm-library-toolbar-summary strong {
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
}
.mpfm-library-toolbar-summary span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.mpfm-saved-library-cube-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.mpfm-library-cube {
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(180, 197, 222, .78);
    background: #fff;
    box-shadow: 0 22px 50px rgba(9, 28, 55, .08);
    display: grid;
    grid-template-rows: 220px auto;
}
.mpfm-library-cube[hidden] { display: none !important; }
.mpfm-library-cube-media {
    position: relative;
    overflow: hidden;
    display: block;
    min-height: 220px;
    background: linear-gradient(135deg, #071a33, #143b6d 55%, #2f75d4);
    background-size: cover;
    background-position: center;
    text-decoration: none;
    color: #fff;
}
.mpfm-library-cube-media:before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 26, 51, .16), rgba(7, 26, 51, .78));
}
.mpfm-library-cube-media > span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 64px;
    font-weight: 950;
    color: rgba(255,255,255,.72);
}
.mpfm-library-cube-title {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: grid;
    gap: 7px;
}
.mpfm-library-cube-title em {
    justify-self: start;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(10px);
    padding: 7px 11px;
    font-style: normal;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.mpfm-library-cube-title strong {
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 950;
    text-shadow: 0 2px 10px rgba(0,0,0,.32);
}
.mpfm-library-cube-body {
    display: grid;
    gap: 14px;
    padding: 16px;
}
.mpfm-library-cube-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mpfm-library-cube-meta span {
    border-radius: 999px;
    background: #f1f5fb;
    color: #52657e;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 850;
}
.mpfm-library-cube .mpfm-library-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.mpfm-library-cube .mpfm-library-actions form { margin: 0; }

@media (max-width: 1180px) {
    .mpfm-saved-library-cube-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .mpfm-saved-library-cube-grid { grid-template-columns: 1fr; }
    .mpfm-library-toolbar { align-items: stretch; }
    .mpfm-library-toolbar-summary { width: 100%; margin-left: 0; }
    .mpfm-library-cube { grid-template-rows: 190px auto; }
    .mpfm-library-cube-media { min-height: 190px; }
}

/* v0.15.82 Global article layout */
.mpfm-global-article-shell {
  width: min(100% - 32px, 1280px);
  margin: 0 auto;
  padding: clamp(32px, 5vw, 72px) 0;
  color: #0b1728;
}
.mpfm-global-article-width-wide .mpfm-global-article-shell {
  width: min(100% - 24px, 1480px);
}
.mpfm-global-article {
  display: block;
}
.mpfm-global-article-hero {
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(24, 59, 104, .12);
  border-radius: 34px;
  padding: clamp(28px, 5vw, 64px);
  box-shadow: 0 22px 70px rgba(15, 23, 42, .08);
  position: relative;
  overflow: hidden;
}
.mpfm-global-article-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, #0b2e59, #2563eb, #7aa7ff);
}
.mpfm-global-article-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
}
.mpfm-global-article-kicker span,
.mpfm-global-article-taxonomy a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #eef4ff;
  color: #103f76;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}
.mpfm-global-article-hero h1 {
  max-width: 1020px;
  margin: 0;
  color: #07172e;
  font-size: clamp(38px, 6vw, 76px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 950;
}
.mpfm-global-article-excerpt {
  max-width: 920px;
  margin: 24px 0 0;
  color: #61708a;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.55;
}
.mpfm-global-article-author-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
}
.mpfm-global-article-author-avatar img,
.mpfm-global-article-side-author img {
  width: 72px;
  height: 72px;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .15);
}
.mpfm-global-article-author-row span,
.mpfm-global-article-side-author span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mpfm-global-article-author-row a,
.mpfm-global-article-side-author a {
  color: #07172e;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}
.mpfm-global-article-author-row small {
  display: block;
  margin-top: 4px;
  color: #5f6f86;
  font-size: 14px;
  font-weight: 700;
}
.mpfm-global-article-featured-image {
  margin: 28px 0 0;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(24, 59, 104, .1);
  box-shadow: 0 20px 65px rgba(15, 23, 42, .1);
}
.mpfm-global-article-featured-image img {
  display: block;
  width: 100%;
  height: auto;
}
.mpfm-global-article-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 26px;
  align-items: start;
  margin-top: 28px;
}
.mpfm-global-article-width-wide .mpfm-global-article-grid {
  grid-template-columns: minmax(0, 1fr) 380px;
}
.mpfm-global-article-main,
.mpfm-global-article-side-card {
  background: #fff;
  border: 1px solid rgba(24, 59, 104, .12);
  border-radius: 30px;
  box-shadow: 0 18px 52px rgba(15, 23, 42, .07);
}
.mpfm-global-article-main {
  overflow: hidden;
}
.mpfm-global-article-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 20px clamp(22px, 4vw, 46px);
  border-bottom: 1px solid rgba(24, 59, 104, .1);
  background: #f8fbff;
}
.mpfm-global-article-content {
  padding: clamp(28px, 4vw, 52px);
  color: #18263a;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.85;
}
.mpfm-global-article-content p,
.mpfm-global-article-content ul,
.mpfm-global-article-content ol,
.mpfm-global-article-content blockquote {
  margin-top: 0;
  margin-bottom: 1.35em;
}
.mpfm-global-article-content h2,
.mpfm-global-article-content h3,
.mpfm-global-article-content h4 {
  color: #07172e;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-top: 1.5em;
}
.mpfm-global-article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 22px;
}
.mpfm-global-article-content blockquote {
  border-left: 5px solid #123f73;
  padding: 18px 22px;
  background: #f7faff;
  border-radius: 0 20px 20px 0;
  color: #334155;
  font-weight: 700;
}
.mpfm-article-share-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mpfm-article-share-button,
.mpfm-save-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(24, 59, 104, .14);
  border-radius: 999px;
  background: #fff;
  color: #103f76;
  min-height: 42px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .03em;
  text-decoration: none;
  cursor: pointer;
}
.mpfm-save-button.is-saved {
  background: #103f76;
  color: #fff;
}
.mpfm-global-article-sidebar {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 24px;
}
.mpfm-global-article-side-card {
  padding: 24px;
}
.mpfm-global-article-side-card h2 {
  margin: 0 0 10px;
  color: #07172e;
  font-size: 18px;
  font-weight: 950;
}
.mpfm-global-article-side-card p {
  color: #637089;
  line-height: 1.6;
  margin: 0 0 16px;
}
.mpfm-global-article-side-author-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.mpfm-global-article-side-author img {
  width: 64px;
  height: 64px;
  border-radius: 22px;
}
.mpfm-global-article-taxonomy {
  display: grid;
  gap: 14px;
  padding: 24px clamp(22px, 4vw, 46px);
  border-top: 1px solid rgba(24, 59, 104, .1);
}
.mpfm-global-article-taxonomy strong {
  display: block;
  margin-bottom: 10px;
  color: #07172e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mpfm-global-article-taxonomy a {
  margin: 0 8px 8px 0;
}
.mpfm-global-article-related-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(24, 59, 104, .1);
  color: inherit;
  text-decoration: none;
}
.mpfm-global-article-related-item:first-of-type {
  border-top: 0;
}
.mpfm-global-article-related-thumb img {
  width: 72px;
  height: 56px;
  border-radius: 16px;
  object-fit: cover;
}
.mpfm-global-article-related-item strong {
  display: block;
  color: #07172e;
  font-size: 14px;
  line-height: 1.3;
}
.mpfm-global-article-related-item small {
  color: #718096;
  font-weight: 700;
}
.mpfm-global-article-comments {
  padding: 24px clamp(22px, 4vw, 46px);
  border-top: 1px solid rgba(24, 59, 104, .1);
}
@media (max-width: 980px) {
  .mpfm-global-article-grid,
  .mpfm-global-article-width-wide .mpfm-global-article-grid {
    grid-template-columns: 1fr;
  }
  .mpfm-global-article-sidebar {
    position: static;
  }
}
@media (max-width: 640px) {
  .mpfm-global-article-shell {
    width: min(100% - 18px, 1280px);
    padding: 22px 0 40px;
  }
  .mpfm-global-article-hero,
  .mpfm-global-article-main,
  .mpfm-global-article-side-card,
  .mpfm-global-article-featured-image {
    border-radius: 24px;
  }
  .mpfm-global-article-author-row {
    align-items: flex-start;
  }
  .mpfm-global-article-top-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v0.15.83: Unified article/profile interaction styling for comments, likes, and replies. */
.mpfm-public-profile-social-actions,
.mpfm-global-article-top-actions {
    border-color: rgba(24, 59, 104, .10);
}

.mpfm-public-profile-social-post-card .mpfm-public-profile-social-actions {
    margin: 0 18px;
    padding: 10px 0;
    border-top: 1px solid rgba(24, 59, 104, .10);
    border-bottom: 1px solid rgba(24, 59, 104, .10);
    background: #ffffff;
}

.mpfm-public-profile-social-action,
.mpfm-public-profile-social-comment-like,
.mpfm-public-profile-social-comment-reply,
.mpfm-global-article-comments .comment-reply-link,
.mpfm-global-article-comments #cancel-comment-reply-link {
    transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.mpfm-public-profile-social-action {
    border-radius: 999px;
    color: #103f76;
    font-size: 13px;
    letter-spacing: .02em;
}

.mpfm-public-profile-social-action:hover,
.mpfm-public-profile-social-action.is-active {
    background: #f7faff;
    color: #103f76;
    box-shadow: inset 0 0 0 1px rgba(24, 59, 104, .12);
}

.mpfm-public-profile-social-action.is-active span:first-child {
    filter: saturate(1.15);
}

.mpfm-public-profile-social-post-card .mpfm-public-profile-social-stats {
    color: #64748b;
    padding: 12px 18px 10px;
}

.mpfm-public-profile-social-reaction-count,
.mpfm-public-profile-social-comment-count {
    color: #64748b;
    font-size: 13px;
    font-weight: 850;
}

.mpfm-public-profile-social-reaction-count span:first-child {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #f7faff;
    box-shadow: inset 0 0 0 1px rgba(24, 59, 104, .10);
}

.mpfm-public-profile-social-comments {
    margin: 0 18px 18px;
    padding: 16px;
    border: 1px solid rgba(24, 59, 104, .10);
    border-radius: 24px;
    background: #f8fbff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}

.mpfm-public-profile-social-comments-list {
    gap: 12px;
}

.mpfm-public-profile-social-comment {
    gap: 12px;
}

.mpfm-public-profile-social-comment-avatar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 16px;
    border: 2px solid #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
    background: #eaf1fb;
}

.mpfm-public-profile-social-comment-main {
    display: grid;
    gap: 5px;
}

.mpfm-public-profile-social-comment-bubble {
    display: block;
    width: fit-content;
    max-width: min(100%, 720px);
    padding: 12px 14px;
    border: 1px solid rgba(24, 59, 104, .10);
    border-radius: 20px 20px 20px 8px;
    background: #ffffff;
    color: #18263a;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.mpfm-public-profile-social-comment-bubble strong {
    color: #07172e;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: -.01em;
}

.mpfm-public-profile-social-comment-text,
.mpfm-public-profile-social-comment-text p {
    color: #18263a !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
}

.mpfm-public-profile-social-comment-meta {
    padding: 0 0 0 8px;
    color: #64748b;
    font-size: 11px;
    font-weight: 850;
}

.mpfm-public-profile-social-comment-like,
.mpfm-public-profile-social-comment-reply {
    border-radius: 999px;
    color: #103f76;
    padding: 4px 8px;
    font-size: 11px;
    text-decoration: none;
}

.mpfm-public-profile-social-comment-like:hover,
.mpfm-public-profile-social-comment-reply:hover,
.mpfm-public-profile-social-comment-like.is-active {
    background: #eef5ff;
    color: #103f76;
    text-decoration: none;
}

.mpfm-public-profile-social-comment-like strong {
    background: #103f76;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(16, 63, 118, .18);
}

.mpfm-public-profile-social-comment-replies {
    margin-top: 10px;
    padding-left: 14px;
    border-left: 2px solid rgba(24, 59, 104, .10);
}

.mpfm-public-profile-social-comment.depth-1,
.mpfm-public-profile-social-comment.depth-2 {
    margin-left: 4px;
}

.mpfm-public-profile-social-comment.depth-1 .mpfm-public-profile-social-comment-avatar,
.mpfm-public-profile-social-comment.depth-2 .mpfm-public-profile-social-comment-avatar,
.mpfm-public-profile-social-comment-form.is-reply .mpfm-public-profile-social-comment-avatar {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 13px;
}

.mpfm-public-profile-social-comment-form {
    margin-top: 16px;
}

.mpfm-public-profile-social-comment-input-wrap textarea,
.mpfm-global-article-comments textarea,
.mpfm-global-article-comments input[type="text"],
.mpfm-global-article-comments input[type="email"],
.mpfm-global-article-comments input[type="url"] {
    border: 1px solid rgba(24, 59, 104, .14);
    border-radius: 18px;
    background: #ffffff;
    color: #18263a;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.mpfm-public-profile-social-comment-input-wrap textarea:focus,
.mpfm-global-article-comments textarea:focus,
.mpfm-global-article-comments input[type="text"]:focus,
.mpfm-global-article-comments input[type="email"]:focus,
.mpfm-global-article-comments input[type="url"]:focus {
    border-color: rgba(16, 63, 118, .42);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(16, 63, 118, .10);
}

.mpfm-public-profile-social-comment-input-wrap button,
.mpfm-global-article-comments input[type="submit"],
.mpfm-global-article-comments button[type="submit"] {
    border: 1px solid #103f76;
    border-radius: 999px;
    background: #103f76;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(16, 63, 118, .16);
}

.mpfm-public-profile-social-comment-input-wrap button:hover,
.mpfm-global-article-comments input[type="submit"]:hover,
.mpfm-global-article-comments button[type="submit"]:hover {
    background: #174d8e;
    border-color: #174d8e;
    transform: translateY(-1px);
}

.mpfm-public-profile-view-more-comments {
    margin-left: 56px;
    color: #103f76;
    border-radius: 999px;
    padding: 8px 12px;
}

.mpfm-public-profile-view-more-comments:hover {
    background: #eef5ff;
    text-decoration: none;
}

.mpfm-global-article-comments {
    background: #f8fbff;
}

.mpfm-global-article-comments .comments-title,
.mpfm-global-article-comments .comment-reply-title {
    margin: 0 0 18px;
    color: #07172e;
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 950;
    letter-spacing: -.03em;
}

.mpfm-global-article-comments .comment-list,
.mpfm-global-article-comments .comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mpfm-global-article-comments .comment-list {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
}

.mpfm-global-article-comments .comment-list .children {
    display: grid;
    gap: 12px;
    margin: 14px 0 0 42px;
    padding-left: 16px;
    border-left: 2px solid rgba(24, 59, 104, .10);
}

.mpfm-global-article-comments .comment-body,
.mpfm-global-article-comments #respond {
    border: 1px solid rgba(24, 59, 104, .10);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
}

.mpfm-global-article-comments .comment-body {
    position: relative;
    min-height: 78px;
    padding: 18px 18px 16px 82px;
    color: #18263a;
}

.mpfm-global-article-comments .comment-author .avatar {
    position: absolute;
    left: 18px;
    top: 18px;
    width: 46px;
    height: 46px;
    border-radius: 17px;
    border: 2px solid #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
}

.mpfm-global-article-comments .comment-author .fn,
.mpfm-global-article-comments .comment-author .fn a {
    color: #07172e;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none;
}

.mpfm-global-article-comments .comment-metadata,
.mpfm-global-article-comments .comment-metadata a,
.mpfm-global-article-comments .comment-awaiting-moderation {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.mpfm-global-article-comments .comment-content {
    color: #18263a;
    font-size: 15px;
    line-height: 1.7;
    margin-top: 10px;
}

.mpfm-global-article-comments .comment-content p {
    margin: 0 0 12px;
}

.mpfm-global-article-comments .reply {
    margin-top: 12px;
}

.mpfm-global-article-comments .comment-reply-link,
.mpfm-global-article-comments #cancel-comment-reply-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef5ff;
    color: #103f76;
    font-size: 12px;
    font-weight: 950;
    padding: 8px 12px;
    text-decoration: none;
}

.mpfm-global-article-comments .comment-reply-link:hover,
.mpfm-global-article-comments #cancel-comment-reply-link:hover {
    background: #103f76;
    color: #ffffff;
}

.mpfm-global-article-comments #respond {
    padding: 22px;
}

.mpfm-global-article-comments .comment-form {
    display: grid;
    gap: 14px;
}

.mpfm-global-article-comments .comment-form label {
    display: block;
    margin-bottom: 7px;
    color: #07172e;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mpfm-global-article-comments .comment-form textarea,
.mpfm-global-article-comments .comment-form input[type="text"],
.mpfm-global-article-comments .comment-form input[type="email"],
.mpfm-global-article-comments .comment-form input[type="url"] {
    width: 100%;
    min-height: 46px;
    padding: 13px 15px;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.55;
    outline: none;
}

.mpfm-global-article-comments .comment-form textarea {
    min-height: 150px;
    resize: vertical;
}

.mpfm-global-article-comments .form-submit {
    margin: 0;
}

.mpfm-global-article-comments input[type="submit"] {
    min-height: 44px;
    padding: 11px 18px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}

@media (max-width: 640px) {
    .mpfm-public-profile-social-comments {
        margin: 0 12px 14px;
        padding: 13px;
        border-radius: 20px;
    }
    .mpfm-public-profile-social-comment-avatar {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 14px;
    }
    .mpfm-public-profile-social-comment-bubble {
        border-radius: 18px 18px 18px 7px;
        padding: 10px 12px;
    }
    .mpfm-public-profile-social-comment-replies {
        padding-left: 10px;
    }
    .mpfm-public-profile-view-more-comments {
        margin-left: 48px;
    }
    .mpfm-global-article-comments .comment-body {
        padding: 68px 14px 14px;
    }
    .mpfm-global-article-comments .comment-author .avatar {
        left: 14px;
        top: 14px;
    }
    .mpfm-global-article-comments .comment-list .children {
        margin-left: 18px;
        padding-left: 10px;
    }
}

/* v0.15.84: Global post style for article pages, reusing the public profile social post system. */
.mpfm-global-article-social-section {
  margin-top: 30px;
}

.mpfm-global-article-post-style-card {
  max-width: 860px;
  margin: 0 auto;
  border-radius: 24px;
  border: 1px solid rgba(17, 64, 118, 0.12);
  box-shadow: 0 18px 45px rgba(17, 64, 118, 0.10);
  background: #fff;
}

.mpfm-global-article-post-style-card .mpfm-public-profile-social-post-author {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(17, 64, 118, 0.09);
}

.mpfm-global-article-social-context {
  padding: 18px 22px 16px;
  background: linear-gradient(135deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
  border-bottom: 1px solid rgba(17, 64, 118, 0.08);
}

.mpfm-global-article-social-context span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(16, 63, 118, 0.08);
  color: #103f76;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.mpfm-global-article-social-context strong {
  display: block;
  color: #102a46;
  font-size: 1.08rem;
  line-height: 1.35;
  margin-bottom: 6px;
}

.mpfm-global-article-social-context p {
  margin: 0;
  color: #5c6b7d;
  font-size: 0.94rem;
  line-height: 1.6;
}

.mpfm-global-article-social-comments {
  background: #f8fbff;
  border-top: 1px solid rgba(17, 64, 118, 0.08);
}

.mpfm-global-article-template .mpfm-public-profile-social-share-menu {
  right: 22px;
}

.mpfm-global-article-template .mpfm-public-profile-social-comment-form {
  margin-top: 14px;
}

.mpfm-global-article-report-modal {
  z-index: 999999;
}

.mpfm-global-article-side-card .mpfm-global-article-related-item {
  border-radius: 18px;
  background: #f8fbff;
}

@media (max-width: 720px) {
  .mpfm-global-article-post-style-card {
    border-radius: 20px;
  }
  .mpfm-global-article-social-context {
    padding: 16px;
  }
}

/* v0.15.85: post promotion / paid boost workflow */
.mpfm-post-promotion-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center}
.mpfm-post-promotion-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;line-height:1;border:1px solid rgba(16,63,118,.14);background:#eef6ff;color:#123b6d}
.mpfm-post-promotion-badge.is-featured{background:linear-gradient(135deg,#fff7d6,#ffe8a3);border-color:#f6c94c;color:#7b5100;box-shadow:0 8px 18px rgba(183,132,0,.12)}
.mpfm-post-promotion-badge.is-status{background:#f6f8fc;color:#42526b}
.mpfm-post-promotion-dialog{max-width:760px;width:min(760px,calc(100vw - 28px))}
.mpfm-post-promotion-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.mpfm-post-promotion-package{display:block;cursor:pointer}
.mpfm-post-promotion-package input{position:absolute;opacity:0;pointer-events:none}
.mpfm-post-promotion-package-card{display:flex;flex-direction:column;gap:10px;min-height:230px;border:1px solid rgba(16,63,118,.14);border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 14px 32px rgba(15,47,85,.08);transition:.18s ease}
.mpfm-post-promotion-package input:checked + .mpfm-post-promotion-package-card{border-color:#174d8e;box-shadow:0 18px 42px rgba(23,77,142,.18);transform:translateY(-2px)}
.mpfm-post-promotion-package-card strong{font-size:17px;color:#103f76;line-height:1.25}
.mpfm-post-promotion-package-card em{font-style:normal;font-weight:900;color:#0f2744;font-size:24px}
.mpfm-post-promotion-package-card small{font-size:13px;color:#53657a;line-height:1.5}
.mpfm-post-promotion-package-card ul{margin:4px 0 0 18px;padding:0;color:#203a56;font-size:13px;line-height:1.5}
.mpfm-post-promotion-payment-panel{border-radius:22px;border:1px solid rgba(16,63,118,.14);background:#f8fbff;padding:18px;margin:16px 0;color:#203a56}
.mpfm-post-promotion-payment-panel strong{display:block;color:#103f76;font-size:18px;margin-bottom:6px}
@media (max-width: 720px){.mpfm-post-promotion-package-grid{grid-template-columns:1fr}.mpfm-post-promotion-package-card{min-height:0}}

/* v0.15.86: admin comment moderation controls */
.mpfm-public-profile-social-comment-admin-tools{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:4px;
  padding-left:6px;
  border-left:1px solid rgba(16,63,118,.12);
}
.mpfm-public-profile-social-comment-admin-action{
  border:0;
  background:rgba(16,63,118,.08);
  color:#103f76;
  border-radius:999px;
  padding:4px 9px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:.16s ease;
}
.mpfm-public-profile-social-comment-admin-action:hover{
  background:#103f76;
  color:#fff;
}
.mpfm-public-profile-social-comment-admin-action.is-danger{
  background:rgba(185,28,28,.08);
  color:#991b1b;
}
.mpfm-public-profile-social-comment-admin-action.is-danger:hover{
  background:#991b1b;
  color:#fff;
}
.mpfm-public-profile-social-comment-admin-action.is-loading{
  opacity:.65;
  pointer-events:none;
}
@media(max-width:640px){
  .mpfm-public-profile-social-comment-admin-tools{width:100%;margin-left:0;margin-top:5px;padding-left:0;border-left:0}
}

/* v0.15.87 - Modern public directory filter dropdowns. */
.mpfm-public-directory-toolbar {
    overflow: visible;
    position: relative;
    z-index: 20;
}

.mpfm-public-directory-toolbar label {
    position: relative;
    overflow: visible;
}

.mpfm-directory-modern-select-wrap {
    position: relative;
    width: 100%;
    min-width: 0;
}

.mpfm-directory-native-select {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.mpfm-directory-modern-select {
    position: relative;
    z-index: 2;
    width: 100%;
}

.mpfm-directory-modern-select.is-open {
    z-index: 9999;
}

.mpfm-directory-modern-select-button {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(21, 59, 109, .16);
    border-radius: 16px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: 0 10px 28px rgba(7, 26, 51, .055), inset 0 1px 0 rgba(255,255,255,.92);
    padding: 0 42px 0 14px;
    color: #071a33;
    font-weight: 850;
    font-size: 14px;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.mpfm-directory-modern-select-button:hover,
.mpfm-directory-modern-select.is-open .mpfm-directory-modern-select-button {
    border-color: rgba(23, 77, 142, .48);
    box-shadow: 0 16px 34px rgba(7, 26, 51, .10), 0 0 0 4px rgba(23, 77, 142, .08);
    background: #ffffff;
}

.mpfm-directory-modern-select-button:focus-visible {
    outline: none;
    border-color: rgba(23, 77, 142, .70);
    box-shadow: 0 0 0 4px rgba(23, 77, 142, .15), 0 18px 34px rgba(7, 26, 51, .11);
}

.mpfm-directory-modern-select-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.mpfm-directory-modern-select-arrow {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-52%);
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #174d8e;
    background: rgba(23, 77, 142, .08);
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease, background .18s ease;
}

.mpfm-directory-modern-select.is-open .mpfm-directory-modern-select-arrow {
    transform: translateY(-52%) rotate(180deg);
    background: rgba(23, 77, 142, .14);
}

.mpfm-directory-modern-select-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    display: none;
    max-height: 280px;
    overflow-y: auto;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(21, 59, 109, .15);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 60px rgba(7, 26, 51, .18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.mpfm-directory-modern-select.is-open .mpfm-directory-modern-select-menu {
    display: grid;
    gap: 4px;
}

.mpfm-directory-modern-select-option {
    width: 100%;
    min-height: 38px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #24364f;
    padding: 8px 10px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.mpfm-directory-modern-select-option:hover,
.mpfm-directory-modern-select-option:focus-visible {
    outline: none;
    background: #edf5ff;
    color: #0f3f78;
}

.mpfm-directory-modern-select-option.is-selected {
    background: linear-gradient(135deg, #103f76, #174d8e);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(16, 63, 118, .18);
}

@media (max-width: 680px) {
    .mpfm-directory-modern-select-menu {
        max-height: 240px;
    }
}
