:root {
    --vefa-green-950: #052f29;
    --vefa-green-900: #083b32;
    --vefa-green-800: #0b4b3d;
    --vefa-green-700: #17614e;
    --vefa-green-100: #e8f2ec;
    --vefa-gold: #cda24a;
    --vefa-gold-dark: #a97828;
    --vefa-gold-soft: #f6ead0;
    --vefa-cream: #fbf7ef;
    --vefa-cream-2: #f6f0e6;
    --vefa-peach: #f5ded5;
    --vefa-white: #ffffff;
    --vefa-ink: #14211d;
    --vefa-muted: #6e7773;
    --vefa-border: rgba(8, 59, 50, 0.10);
    --vefa-shadow: 0 18px 48px rgba(30, 45, 39, 0.08);
    --vefa-shadow-soft: 0 10px 28px rgba(30, 45, 39, 0.06);
    --vefa-radius-xl: 28px;
    --vefa-radius-lg: 22px;
    --vefa-radius-md: 16px;
    --vefa-content: 1240px;
}

/* Dashboard polish final cascade: readable weights and compact empty states. */
body.vefa-member-portal-dashboard { font-size: 14px; font-weight: 400; color: #304139; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer { background: rgba(11,56,46,.98); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-button,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-urgent > a,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-card__heading > a,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey__link { font-weight: 650; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-privacy > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-support-steps li > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey li > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-quick-list a > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-urgent > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer svg { fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-privacy > span svg { width: 18px; height: 18px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey li > span,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-quick-list a > span { display: grid; place-items: center; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey li > span svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-quick-list a > span svg { width: 17px; height: 17px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer svg { width: 25px; height: 25px; stroke: #e4aa29; }
body.vefa-member-portal-dashboard .vefa-dashboard-reminder__sun svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-reminder__leaf { position: absolute; right: 10px; bottom: -18px; width: 96px; height: 96px; transform: none; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-reminder__leaf svg { display: block; width: 100%; height: 100%; overflow: visible; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-reminder__stem { fill: none; stroke: #94a586; stroke-width: 2; stroke-linecap: round; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-reminder__leaf-shape { fill: #a4b398; stroke: none; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-nav a { font-weight: 600; background: rgba(11,56,46,.96); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-nav a.is-active { background: linear-gradient(90deg, rgba(86,128,101,.48), rgba(69,111,85,.33)); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-brand { display: flex; min-height: 126px; align-items: center; justify-content: center; margin-bottom: 8px; overflow: hidden; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-brand__logo { display: block; width: 190px; height: 158px; margin: -4px auto -14px; object-fit: contain; image-rendering: auto; }
@media (max-width: 760px) { .vefa-member-portal-dashboard .vefa-dashboard-header-button { display: grid; } .vefa-member-portal-dashboard .vefa-notification-dropdown { position: fixed; top: 72px; right: 12px; width: min(360px, calc(100vw - 24px)); } }
/* Keep dashboard action icons and appointment timeline icons inside their
   intended boxes; unscoped SVG defaults must not create oversized filled shapes. */
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon svg { display: block; width: 45px; height: 45px; max-width: 45px; max-height: 45px; fill: none !important; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
/* Use compact, balanced marks for the two primary support actions. */
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-sage svg,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-peach svg { display: none !important; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-sage::before,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-peach::before { display: block; width: 45px; height: 45px; content: ""; background-position: center; background-repeat: no-repeat; background-size: 45px 45px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-sage::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 8.7c0 5.2-8.8 10.3-8.8 10.3S3.2 13.9 3.2 8.7A4.7 4.7 0 0 1 12 6.2a4.7 4.7 0 0 1 8.8 2.5Z' fill='none' stroke='%230f493b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-peach::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v11H9l-5 4V5Zm4 5h8m-8 3h5' fill='none' stroke='%2361372c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-portal-appointments .vefa-support-timeline svg,
body.vefa-member-portal-appointments .vefa-support-timeline svg { display: block; width: 17px !important; height: 17px !important; max-width: 17px; max-height: 17px; fill: none !important; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.vefa-member-portal-appointments .vefa-support-timeline { margin-top: 20px; }
body.vefa-member-portal-appointments .vefa-support-timeline ol { position: relative; display: grid; gap: 13px; margin: 14px 0 0; padding: 0; list-style: none; }
body.vefa-member-portal-appointments .vefa-support-timeline ol::before { position: absolute; top: 20px; bottom: 20px; left: 15px; width: 2px; background: #e2e9da; content: ""; }
body.vefa-member-portal-appointments .vefa-support-timeline li { position: relative; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 10px; align-items: center; }
body.vefa-member-portal-appointments .vefa-support-timeline li > span { z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #edf1e7; color: #607c57; overflow: hidden; }
body.vefa-member-portal-appointments .vefa-support-timeline strong, body.vefa-member-portal-appointments .vefa-support-timeline small { display: block; }
body.vefa-member-portal-appointments .vefa-support-timeline strong { color: #2e3d32; font-size: 12px; }
body.vefa-member-portal-appointments .vefa-support-timeline small { margin-top: 2px; color: #777c76; font-size: 11px; line-height: 1.4; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message { text-align: left; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message.is-member { margin-left: auto; border: 1px solid #c6dfcd; box-shadow: 0 3px 10px rgba(42,100,69,.06); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message.is-volunteer { margin-right: auto; border: 1px solid #e5ddd1; box-shadow: 0 3px 10px rgba(73,62,48,.05); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message strong::after { display: inline-flex; margin-left: 7px; padding: 2px 5px; border-radius: 999px; font-size: 8px; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; vertical-align: 1px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message.is-member strong::after { content: "Sent"; background: #c9e3d0; color: #286044; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-member-message.is-volunteer strong::after { content: "Received"; background: #f0e6d8; color: #775b35; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-sidebar { padding-top: 14px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-brand { margin-bottom: 20px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-nav a { background: transparent; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-nav a.is-active { background: linear-gradient(90deg, rgba(86,128,101,.48), rgba(69,111,85,.33)); }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-botanical { bottom: -220px; z-index: 1; width: 216px; height: 285px; opacity: .78; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer { z-index: 4; justify-content: flex-start; background: transparent; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 { font-weight: 600; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-welcome p { color: #46574e; font-weight: 400; }
/* Keep the inline greeting sprig at its intended compact size. Without an
   explicit size, SVG's default 300x150 viewport stretches the header. */
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-greeting-mark {
    display: inline-block;
    width: 24px;
    height: 32px;
    margin-left: 5px;
    vertical-align: -4px;
    fill: none;
    stroke: #82946d;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-card__heading h2,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card strong,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-contact h2 { font-weight: 650; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-card__heading p,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card small,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey li,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-contact p { color: #5f6b63; font-weight: 400; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card { min-height: 120px; padding-block: 13px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { width: 62px; height: 62px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-contact a > span { display: grid; width: 19px; height: 19px; place-items: center; transform: none; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-contact a > span svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-support-card,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-mood-card,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-journey-card,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-recommendations,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-quick,
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-appointment { min-height: 0; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-empty-inline { min-height: 0; padding-top: 18px; padding-bottom: 3px; }
body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty { min-height: 152px; }
@media (max-width: 760px) {
    body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-botanical { display: none; }
    body.vefa-member-portal-dashboard.vefa-member-portal-dashboard .vefa-dashboard-action-card { min-height: 86px; }
}
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.vefa-member-portal-page {
    margin: 0;
    min-height: 100vh;
    background: var(--vefa-cream);
    color: var(--vefa-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

body.vefa-member-portal-page button,
body.vefa-member-portal-page input { font: inherit; }

body.vefa-member-portal-page a { color: inherit; }

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vefa-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--vefa-gold-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.vefa-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    min-width: 140px;
}

.vefa-brand__logo {
    display: block;
    width: auto;
    max-width: 150px;
    height: 54px;
    object-fit: contain;
}

.vefa-brand__logo--login { height: 70px; max-width: 190px; }

.vefa-brand__fallback {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--vefa-green-900);
}

.vefa-brand__fallback svg { width: 46px; height: 46px; }
.vefa-brand__fallback span span { display: flex; flex-direction: column; }
.vefa-brand__fallback strong { font-family: Georgia, serif; font-size: 22px; line-height: 1; letter-spacing: .18em; }
.vefa-brand__fallback small { font-size: 8px; letter-spacing: .30em; margin-top: 6px; }

/* Login */
.vefa-login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 1.1fr) minmax(420px, .9fr);
}

.vefa-login-story {
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding: clamp(44px, 6vw, 86px);
    background:
        radial-gradient(circle at 15% 18%, rgba(205,162,74,.20), transparent 24%),
        radial-gradient(circle at 82% 32%, rgba(245,222,213,.17), transparent 24%),
        var(--vefa-green-950);
    color: white;
}

.vefa-login-story::after {
    content: "";
    position: absolute;
    inset: auto -10% -120px -10%;
    height: 260px;
    background: var(--vefa-green-900);
    border-radius: 50% 50% 0 0;
    transform: rotate(-2deg);
}

.vefa-login-story__content {
    position: relative;
    z-index: 2;
    max-width: 670px;
}

.vefa-login-story .vefa-eyebrow { color: #e5c275; }

.vefa-login-story h1 {
    margin: 20px 0 18px;
    max-width: 650px;
    font-size: clamp(42px, 5vw, 74px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.vefa-login-story p {
    max-width: 590px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 18px;
}

.vefa-story-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.vefa-story-points span {
    display: inline-flex;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.88);
    font-size: 13px;
}

.vefa-login-story__art { position: absolute; inset: 0; pointer-events: none; }
.vefa-orbit { position: absolute; border: 1px solid rgba(229,194,117,.16); border-radius: 50%; }
.vefa-orbit--one { width: 420px; height: 420px; top: -140px; right: -160px; }
.vefa-orbit--two { width: 210px; height: 210px; top: 60px; right: 70px; }
.vefa-orbit--three { width: 90px; height: 90px; top: 215px; right: 165px; background: rgba(205,162,74,.08); }
.vefa-heart-line { position: absolute; right: 12%; bottom: 26%; color: var(--vefa-gold); font-size: 80px; transform: rotate(-14deg); opacity: .8; }

.vefa-login-main {
    display: grid;
    place-items: center;
    padding: 40px;
    background:
        linear-gradient(rgba(255,255,255,.58), rgba(255,255,255,.58)),
        radial-gradient(circle at 80% 10%, var(--vefa-peach), transparent 30%),
        var(--vefa-cream);
}

.vefa-login-card {
    width: min(100%, 500px);
    padding: clamp(28px, 5vw, 52px);
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-xl);
    background: rgba(255,255,255,.91);
    box-shadow: var(--vefa-shadow);
}

.vefa-brand--login { margin-bottom: 42px; }
.vefa-login-card__heading h2 { margin: 10px 0 8px; font-size: clamp(34px, 4vw, 46px); letter-spacing: -.04em; color: var(--vefa-green-900); }
.vefa-login-card__heading p { margin: 0 0 30px; color: var(--vefa-muted); }

.vefa-alert {
    margin-bottom: 20px;
    padding: 13px 15px;
    border-radius: 12px;
    font-size: 14px;
}
.vefa-alert--error { border: 1px solid #f0c0b7; background: #fff3f0; color: #8a2f20; }

.vefa-login-form { display: grid; gap: 20px; }
.vefa-field { display: grid; gap: 8px; color: var(--vefa-ink); font-size: 14px; font-weight: 700; }
.vefa-field__control { position: relative; display: flex; align-items: center; }
.vefa-field__control > svg { position: absolute; left: 16px; width: 20px; height: 20px; fill: none; stroke: var(--vefa-green-700); stroke-width: 1.7; }
.vefa-field__control input {
    width: 100%;
    height: 54px;
    padding: 0 52px 0 48px;
    border: 1px solid rgba(8,59,50,.14);
    border-radius: 14px;
    outline: none;
    background: #fff;
    color: var(--vefa-ink);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.vefa-field__control input:focus { border-color: var(--vefa-gold); box-shadow: 0 0 0 4px rgba(205,162,74,.15); }
.vefa-password-toggle { position: absolute; right: 10px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; background: transparent; color: var(--vefa-muted); cursor: pointer; }
.vefa-password-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.vefa-form-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: 14px; }
.vefa-form-row a { color: var(--vefa-green-700); font-weight: 700; text-decoration: none; }
.vefa-check { display: inline-flex; align-items: center; gap: 9px; color: var(--vefa-muted); }
.vefa-check input { accent-color: var(--vefa-green-700); }

.vefa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.vefa-button:hover { transform: translateY(-1px); }
.vefa-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; }
.vefa-button--full { width: 100%; min-height: 54px; margin-top: 4px; }
.vefa-button--primary { background: var(--vefa-green-900); color: white; box-shadow: 0 10px 22px rgba(8,59,50,.18); }
.vefa-button--primary:hover { background: var(--vefa-green-800); }
.vefa-button--gold { background: var(--vefa-gold); color: #2e2410; }
.vefa-button--soft { background: var(--vefa-green-100); color: var(--vefa-green-900); }
.vefa-button--light { background: white; color: var(--vefa-green-900); }
.vefa-button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.vefa-login-signup { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--vefa-border); text-align: center; }
.vefa-login-signup > p { margin: 0 0 14px; color: var(--vefa-green-900); font-weight: 800; }
.vefa-login-signup__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vefa-login-signup__actions .vefa-button { min-height: 48px; padding: 10px 14px; text-decoration: none; font-size: 13px; }
.vefa-login-help { margin: 26px 0 0; color: var(--vefa-muted); text-align: center; font-size: 14px; }
.vefa-login-help a { color: var(--vefa-green-700); font-weight: 800; text-decoration: none; }

/* Member dashboard: approved compact application layout. */
.vefa-member-portal-dashboard {
    --vefa-dashboard-forest: #0b382e;
    --vefa-dashboard-deep: #062c24;
    --vefa-dashboard-cream: #fbf8f1;
    --vefa-dashboard-surface: #fffdfa;
    --vefa-dashboard-gold: #d89718;
    --vefa-dashboard-sage: #edf1e7;
    --vefa-dashboard-peach: #fbe7da;
    --vefa-dashboard-lavender: #eee8f1;
    --vefa-dashboard-text: #172b23;
    --vefa-dashboard-muted: #6c716c;
    --vefa-dashboard-line: #ece5d9;
    --vefa-dashboard-radius: 16px;
    --vefa-dashboard-gap: 16px;
    --vefa-dashboard-shadow: 0 8px 24px rgba(31, 41, 32, .045);
    overflow: hidden;
    background: var(--vefa-dashboard-cream);
}

.vefa-member-portal-dashboard .vefa-dashboard-app { min-height: 100vh; display: grid; grid-template-columns: 216px minmax(0, 1fr); }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; display: flex; width: 216px; flex-direction: column; overflow-y: auto; padding: 30px 11px 20px; background: radial-gradient(circle at 100% 0, rgba(78, 126, 100, .26), transparent 32%), var(--vefa-dashboard-deep); color: #f9f6ed; }
.vefa-member-portal-dashboard .vefa-dashboard-brand { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 100px; margin: 0 4px 26px; color: #fbf3dc; text-align: center; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-dashboard-brand__mark { color: #e0a424; font-family: Georgia, serif; font-size: 56px; line-height: .8; transform: rotate(-20deg); }
.vefa-member-portal-dashboard .vefa-dashboard-brand strong { display: block; font-family: Georgia, serif; font-size: 31px; font-weight: 500; letter-spacing: .14em; line-height: 1; }
.vefa-member-portal-dashboard .vefa-dashboard-brand small { display: block; margin-top: 7px; color: #e2ad2c; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.vefa-member-portal-dashboard .vefa-dashboard-nav { display: grid; gap: 4px; }
.vefa-member-portal-dashboard .vefa-dashboard-nav a { display: flex; min-height: 44px; align-items: center; gap: 15px; padding: 0 20px; border: 1px solid transparent; border-radius: 13px; color: rgba(255, 255, 255, .9); font-size: 14px; font-weight: 650; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-dashboard-nav a:hover, .vefa-member-portal-dashboard .vefa-dashboard-nav a:focus-visible { background: rgba(255, 255, 255, .08); }
.vefa-member-portal-dashboard .vefa-dashboard-nav a.is-active { border-color: rgba(255, 255, 255, .14); background: rgba(100, 141, 118, .24); box-shadow: inset 3px 0 #fff; }
.vefa-member-portal-dashboard .vefa-dashboard-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer { display: flex; align-items: flex-end; justify-content: space-between; margin-top: auto; padding: 28px 11px 0; color: rgba(255, 255, 255, .84); font-size: 12px; line-height: 1.65; }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer p { margin: 0; }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer > span { color: #e4aa29; font-size: 32px; }
.vefa-member-portal-dashboard .vefa-dashboard-menu-toggle { display: none; }

.vefa-member-portal-dashboard .vefa-dashboard-main { min-width: 0; min-height: 100vh; margin-left: 216px; overflow-y: auto; background: var(--vefa-dashboard-cream); }
.vefa-member-portal-dashboard .vefa-dashboard-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1220px; margin: 0 auto; padding: 28px 34px 18px; }
.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 { margin: 0; color: var(--vefa-dashboard-forest); font-family: Georgia, serif; font-size: clamp(30px, 2.5vw, 38px); font-weight: 500; letter-spacing: -.03em; line-height: 1; }
.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 span { color: #839d73; font-size: .9em; }
.vefa-member-portal-dashboard .vefa-dashboard-welcome p { margin: 7px 0 0; color: #555d57; font-size: 14px; }
.vefa-member-portal-dashboard .vefa-dashboard-header__controls { display: flex; align-items: center; gap: 12px; }
.vefa-member-portal-dashboard .vefa-dashboard-search { display: flex; width: min(31vw, 416px); min-width: 250px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 1px solid var(--vefa-dashboard-line); border-radius: 9px; background: rgba(255,255,255,.48); color: #88857f; font-size: 13px; }
.vefa-member-portal-dashboard .vefa-dashboard-search svg, .vefa-member-portal-dashboard .vefa-dashboard-header-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vefa-member-portal-dashboard .vefa-dashboard-header-button { position: relative; display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #152820; cursor: pointer; }
.vefa-member-portal-dashboard .vefa-dashboard-header-button:hover, .vefa-member-portal-dashboard .vefa-dashboard-header-button:focus-visible { background: var(--vefa-dashboard-sage); }
.vefa-member-portal-dashboard .vefa-dashboard-header-button i { position: absolute; top: 7px; right: 6px; width: 10px; height: 10px; border: 2px solid var(--vefa-dashboard-cream); border-radius: 50%; background: var(--vefa-dashboard-gold); }
.vefa-member-portal-dashboard .vefa-dashboard-notifications { position: relative; }
.vefa-member-portal-dashboard .vefa-notification-dropdown { position: absolute; z-index: 60; top: calc(100% + 12px); right: -8px; width: min(360px, calc(100vw - 34px)); overflow: hidden; border: 1px solid var(--vefa-dashboard-line); border-radius: 15px; background: #fffdfa; box-shadow: 0 18px 45px rgba(39,58,45,.18); }
.vefa-member-portal-dashboard .vefa-notification-dropdown__head { display: grid; gap: 3px; padding: 14px 16px 12px; border-bottom: 1px solid #eee7dd; }
.vefa-member-portal-dashboard .vefa-notification-dropdown__head strong { color: #294334; font-size: 13px; }
.vefa-member-portal-dashboard .vefa-notification-dropdown__head span { color: #7a776f; font-size: 10px; }
.vefa-member-portal-dashboard .vefa-notification-list { display: grid; max-height: 360px; overflow-y: auto; }
.vefa-member-portal-dashboard .vefa-notification-item { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 10px; padding: 12px 14px; border-bottom: 1px solid #f0ebe3; color: inherit; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-notification-item:hover,.vefa-member-portal-dashboard .vefa-notification-item:focus-visible { background: #f2f6ef; outline: none; }
.vefa-member-portal-dashboard .vefa-notification-item__icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #eaf1e7; color: #326348; }
.vefa-member-portal-dashboard .vefa-notification-item__icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.vefa-member-portal-dashboard .vefa-notification-item strong,.vefa-member-portal-dashboard .vefa-notification-item small,.vefa-member-portal-dashboard .vefa-notification-item time { display: block; }
.vefa-member-portal-dashboard .vefa-notification-item strong { color: #33483a; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-notification-item small { margin-top: 3px; color: #67736a; font-size: 10px; line-height: 1.4; }
.vefa-member-portal-dashboard .vefa-notification-item time { margin-top: 4px; color: #9a958c; font-size: 9px; }
.vefa-member-portal-dashboard .vefa-notification-empty { margin: 0; padding: 20px 16px; color: #74756d; font-size: 11px; line-height: 1.5; }
.vefa-member-portal-dashboard .vefa-dashboard-user-menu .vefa-user-menu__button { gap: 5px; }
.vefa-member-portal-dashboard .vefa-dashboard-user-menu .vefa-avatar { width: 46px; height: 46px; border: 2px solid #fff; background: #d9ab7f; color: #fff; box-shadow: 0 2px 9px rgba(25, 37, 30, .12); }
.vefa-member-portal-dashboard .vefa-dashboard-user-menu .vefa-user-menu__button > svg { width: 16px; }

.vefa-member-portal-dashboard .vefa-dashboard-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; gap: 26px; max-width: 1220px; margin: 0 auto; padding: 8px 34px 32px; align-items: start; }
.vefa-member-portal-dashboard .vefa-dashboard-content { display: grid; gap: var(--vefa-dashboard-gap); min-width: 0; }
.vefa-member-portal-dashboard .vefa-dashboard-rail { display: grid; gap: 18px; min-width: 0; }
.vefa-member-portal-dashboard .vefa-dashboard-privacy { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 9px 16px; border: 1px solid #e1e5d3; border-radius: 10px; background: #f0f2e8; color: #65715f; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-privacy span { color: #74826b; font-size: 19px; }
.vefa-member-portal-dashboard .vefa-dashboard-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--vefa-dashboard-gap); }
.vefa-member-portal-dashboard .vefa-dashboard-action-card { display: grid; grid-template-columns: 66px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 116px; padding: 16px; border: 1px solid var(--vefa-dashboard-line); border-radius: var(--vefa-dashboard-radius); background: var(--vefa-dashboard-surface); box-shadow: var(--vefa-dashboard-shadow); color: var(--vefa-dashboard-text); text-decoration: none; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card:hover { border-color: #dacda9; transform: translateY(-1px); }
.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { display: grid; width: 66px; height: 66px; place-items: center; border-radius: 50%; color: var(--vefa-dashboard-forest); font-size: 30px; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-sage { background: var(--vefa-dashboard-sage); }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-peach { background: var(--vefa-dashboard-peach); color: #61372c; }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon.is-gold { background: #faefda; color: #b67703; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card strong, .vefa-member-portal-dashboard .vefa-dashboard-action-card small { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-action-card strong { font-size: 14px; line-height: 1.25; }.vefa-member-portal-dashboard .vefa-dashboard-action-card small { margin-top: 7px; color: #686a66; font-size: 11px; line-height: 1.45; }.vefa-member-portal-dashboard .vefa-dashboard-action-card b { color: #778078; font-size: 25px; font-weight: 400; }

.vefa-member-portal-dashboard .vefa-dashboard-card { padding: 18px 20px; border: 1px solid var(--vefa-dashboard-line); border-radius: var(--vefa-dashboard-radius); background: var(--vefa-dashboard-surface); box-shadow: var(--vefa-dashboard-shadow); }
.vefa-member-portal-dashboard .vefa-dashboard-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-card__heading h2 { margin: 0; color: #18261f; font-size: 16px; line-height: 1.2; }.vefa-member-portal-dashboard .vefa-dashboard-card__heading p { margin: 6px 0 0; color: #6e716c; font-size: 11px; }.vefa-member-portal-dashboard .vefa-dashboard-card__heading > a { color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.vefa-member-portal-dashboard .vefa-dashboard-status { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: #fff2d6; color: #b47709; font-size: 10px; font-weight: 800; }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 18px 0 2px; margin: 0; list-style: none; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li { position: relative; display: grid; justify-items: center; padding: 0 9px; text-align: center; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li:not(:last-child)::after { position: absolute; top: 18px; left: calc(50% + 24px); width: calc(100% - 42px); border-top: 1px dashed #c7c0b6; content: ""; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li > span { position: relative; z-index: 1; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #f1f0ed; color: #72736e; font-size: 18px; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li.is-complete > span { background: var(--vefa-dashboard-forest); color: #fff; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li.is-current > span { background: #e19a19; color: #fff; box-shadow: 0 0 0 4px #fff3d9; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps strong { margin-top: 10px; color: #50544e; font-size: 11px; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li.is-current strong { color: #c5810d; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps small { margin-top: 4px; color: #858680; font-size: 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-empty-inline { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; }.vefa-member-portal-dashboard .vefa-dashboard-empty-inline strong, .vefa-member-portal-dashboard .vefa-dashboard-empty-inline span { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-empty-inline strong { font-size: 13px; }.vefa-member-portal-dashboard .vefa-dashboard-empty-inline span { margin-top: 3px; color: var(--vefa-dashboard-muted); font-size: 11px; }.vefa-member-portal-dashboard .vefa-dashboard-button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 13px; border-radius: 8px; background: var(--vefa-dashboard-forest); color: #fff; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }.vefa-member-portal-dashboard .vefa-dashboard-button:hover { background: #175542; }.vefa-member-portal-dashboard .vefa-dashboard-button--outline { width: 100%; margin-top: 18px; border: 1px solid #e8d1a1; background: transparent; color: var(--vefa-dashboard-forest); }

.vefa-member-portal-dashboard .vefa-dashboard-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--vefa-dashboard-gap); }.vefa-member-portal-dashboard .vefa-dashboard-moods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }.vefa-member-portal-dashboard .vefa-dashboard-moods button { display: grid; justify-items: center; gap: 7px; padding: 0; border: 0; background: transparent; color: #565a55; cursor: pointer; }.vefa-member-portal-dashboard .vefa-dashboard-moods button span { display: grid; width: 56px; height: 56px; place-items: center; border: 2px solid transparent; border-radius: 50%; background: var(--vefa-dashboard-sage); color: var(--vefa-dashboard-forest); font-size: 29px; }.vefa-member-portal-dashboard .vefa-dashboard-moods button:nth-child(2) span { background: #faecd0; color: #c27a00; }.vefa-member-portal-dashboard .vefa-dashboard-moods button:nth-child(3) span { background: var(--vefa-dashboard-peach); color: #b45135; }.vefa-member-portal-dashboard .vefa-dashboard-moods button:nth-child(4) span { background: var(--vefa-dashboard-lavender); color: #675467; }.vefa-member-portal-dashboard .vefa-dashboard-moods button[aria-pressed="true"] span { border-color: var(--vefa-dashboard-forest); box-shadow: 0 0 0 3px rgba(11,56,46,.12); }.vefa-member-portal-dashboard .vefa-dashboard-moods button small { font-size: 11px; }.vefa-member-portal-dashboard .vefa-dashboard-mood-feedback { min-height: 17px; margin: 10px 0 0; color: #526556; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey-empty { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: start; margin-top: 19px; }.vefa-member-portal-dashboard .vefa-dashboard-journey-empty > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #f9ead9; color: #c27a00; font-size: 19px; }.vefa-member-portal-dashboard .vefa-dashboard-journey-empty strong { font-size: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-journey-empty p { margin: 4px 0 8px; color: #6c716b; font-size: 11px; line-height: 1.45; }.vefa-member-portal-dashboard .vefa-dashboard-journey-empty a { color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; }

.vefa-member-portal-dashboard .vefa-dashboard-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); gap: var(--vefa-dashboard-gap); }.vefa-member-portal-dashboard .vefa-dashboard-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }.vefa-member-portal-dashboard .vefa-dashboard-resource { min-width: 0; padding: 12px; border: 1px solid #eee8df; border-radius: 11px; background: #fdfcf9; color: #28342e; text-decoration: none; }.vefa-member-portal-dashboard .vefa-dashboard-resource:hover { border-color: #d9c99f; }.vefa-member-portal-dashboard .vefa-dashboard-resource > span { display: grid; width: 34px; height: 28px; place-items: center; margin-bottom: 9px; border-radius: 8px; background: var(--vefa-dashboard-sage); color: #667d62; font-size: 21px; }.vefa-member-portal-dashboard .vefa-dashboard-resource small, .vefa-member-portal-dashboard .vefa-dashboard-resource strong { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-resource small { color: #8a887e; font-size: 9px; }.vefa-member-portal-dashboard .vefa-dashboard-resource strong { margin-top: 3px; font-size: 11px; line-height: 1.25; }.vefa-member-portal-dashboard .vefa-dashboard-resource p { margin: 5px 0 0; color: #777771; font-size: 10px; line-height: 1.35; }.vefa-member-portal-dashboard .vefa-dashboard-empty { display: grid; gap: 5px; padding: 18px 0 2px; }.vefa-member-portal-dashboard .vefa-dashboard-empty strong { font-size: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-empty span { color: #70736d; font-size: 11px; }.vefa-member-portal-dashboard .vefa-dashboard-empty a { margin-top: 2px; color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list { display: grid; gap: 7px; margin-top: 14px; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list a { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; min-height: 37px; align-items: center; gap: 8px; padding: 4px 8px; border: 1px solid #eeeae3; border-radius: 9px; color: #424941; font-size: 11px; text-decoration: none; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list a:hover { background: #fbf5e8; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #edf3e9; color: #547050; font-size: 17px; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list a:nth-child(2) span { background: #fce8dc; color: #b65738; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list a:nth-child(3) span { background: #f0e9f1; color: #765d7a; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list a:nth-child(4) span { background: #fff1d8; color: #bd7c0a; }.vefa-member-portal-dashboard .vefa-dashboard-quick-list b { color: #6f756d; font-size: 18px; font-weight: 400; }

.vefa-member-portal-dashboard .vefa-dashboard-appointment { padding: 20px 22px; }.vefa-member-portal-dashboard .vefa-dashboard-appointment .vefa-dashboard-card__heading > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; background: #fff; color: #343a36; box-shadow: 0 3px 10px rgba(30,38,32,.05); }.vefa-member-portal-dashboard .vefa-dashboard-appointment__body { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: center; margin-top: 18px; }.vefa-member-portal-dashboard .vefa-dashboard-date { display: grid; min-height: 102px; place-items: center; align-content: center; border: 1px solid #f0dfc7; border-radius: 9px; background: #fffdfa; }.vefa-member-portal-dashboard .vefa-dashboard-date small { color: #b94c45; font-size: 11px; font-weight: 800; }.vefa-member-portal-dashboard .vefa-dashboard-date strong { color: #312b27; font-size: 31px; line-height: 1; }.vefa-member-portal-dashboard .vefa-dashboard-date span { color: #69645e; font-size: 10px; font-weight: 800; }.vefa-member-portal-dashboard .vefa-dashboard-appointment__body p { margin: 0 0 12px; color: #545650; font-size: 11px; line-height: 1.7; }.vefa-member-portal-dashboard .vefa-dashboard-appointment__body small, .vefa-member-portal-dashboard .vefa-dashboard-appointment__body strong { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-appointment__body small { color: #88867e; font-size: 10px; }.vefa-member-portal-dashboard .vefa-dashboard-appointment__body strong { margin-top: 2px; color: #29332e; font-size: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-urgent { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid #f2d8cd; border-radius: 15px; background: #fff0eb; }.vefa-member-portal-dashboard .vefa-dashboard-urgent > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #ffdcd1; color: #b7373e; font-size: 25px; }.vefa-member-portal-dashboard .vefa-dashboard-urgent h2 { margin: 1px 0 5px; color: #a22d34; font-size: 13px; }.vefa-member-portal-dashboard .vefa-dashboard-urgent p { margin: 0; color: #765854; font-size: 11px; line-height: 1.5; }.vefa-member-portal-dashboard .vefa-dashboard-reminder { position: relative; min-height: 176px; overflow: hidden; background: linear-gradient(135deg, #eef1df, #f9f6e9); }.vefa-member-portal-dashboard .vefa-dashboard-reminder h2 { margin: 3px 0 16px; color: var(--vefa-dashboard-forest); font-family: Georgia, serif; font-size: 17px; font-weight: 500; }.vefa-member-portal-dashboard .vefa-dashboard-reminder p { max-width: 180px; margin: 0; color: #586358; font-size: 14px; line-height: 1.5; }.vefa-member-portal-dashboard .vefa-dashboard-reminder__sun { position: absolute; top: 16px; right: 20px; color: #cf9327; font-size: 30px; }.vefa-member-portal-dashboard .vefa-dashboard-reminder__leaf { position: absolute; right: 18px; bottom: -7px; color: #90a186; font-size: 75px; transform: rotate(-25deg); }
.vefa-member-portal-dashboard .vefa-portal-footer { display: none; }
.vefa-member-portal-dashboard a:focus-visible, .vefa-member-portal-dashboard button:focus-visible { outline: 3px solid #d79a1d; outline-offset: 3px; }

@media (max-width: 1180px) {
    .vefa-member-portal-dashboard .vefa-dashboard-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; padding-inline: 24px; }
    .vefa-member-portal-dashboard .vefa-dashboard-header { padding-inline: 24px; }
    .vefa-member-portal-dashboard .vefa-dashboard-actions { gap: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card { grid-template-columns: 48px minmax(0, 1fr); min-height: 126px; padding: 14px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { width: 48px; height: 48px; font-size: 23px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card b { display: none; }
}
@media (max-width: 1024px) {
    .vefa-member-portal-dashboard .vefa-dashboard-layout { grid-template-columns: 1fr; }.vefa-member-portal-dashboard .vefa-dashboard-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }.vefa-member-portal-dashboard .vefa-dashboard-reminder { grid-column: span 2; min-height: 140px; }.vefa-member-portal-dashboard .vefa-dashboard-reminder p { max-width: 300px; }
}
@media (max-width: 760px) {
    .vefa-member-portal-dashboard { overflow: visible; }.vefa-member-portal-dashboard .vefa-dashboard-app { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-sidebar { width: min(82vw, 292px); padding-top: 18px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: 12px 0 32px rgba(0,0,0,.22); }.vefa-member-portal-dashboard .vefa-dashboard-sidebar.is-open { transform: translateX(0); }.vefa-member-portal-dashboard .vefa-dashboard-menu-toggle { position: fixed; top: 14px; left: 14px; z-index: 50; display: grid; width: 42px; height: 42px; place-content: center; gap: 4px; border: 1px solid var(--vefa-dashboard-line); border-radius: 10px; background: #fffdfa; box-shadow: var(--vefa-dashboard-shadow); cursor: pointer; }.vefa-member-portal-dashboard .vefa-dashboard-menu-toggle span:not(.screen-reader-text) { display: block; width: 19px; height: 2px; border-radius: 2px; background: var(--vefa-dashboard-forest); }.vefa-member-portal-dashboard .vefa-dashboard-main { margin-left: 0; overflow: visible; }.vefa-member-portal-dashboard .vefa-dashboard-header { align-items: flex-start; padding: 22px 18px 15px 70px; }.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 { font-size: 28px; }.vefa-member-portal-dashboard .vefa-dashboard-welcome p { font-size: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-search { display: none; }.vefa-member-portal-dashboard .vefa-dashboard-header__controls { gap: 4px; }.vefa-member-portal-dashboard .vefa-dashboard-layout { gap: 15px; padding: 4px 18px 24px; }.vefa-member-portal-dashboard .vefa-dashboard-actions, .vefa-member-portal-dashboard .vefa-dashboard-duo, .vefa-member-portal-dashboard .vefa-dashboard-bottom-grid { grid-template-columns: 1fr; }.vefa-member-portal-dashboard .vefa-dashboard-actions { gap: 10px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card { grid-template-columns: 51px minmax(0, 1fr) auto; min-height: 82px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card b { display: block; }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { width: 51px; height: 51px; }.vefa-member-portal-dashboard .vefa-dashboard-rail { grid-template-columns: 1fr; }.vefa-member-portal-dashboard .vefa-dashboard-reminder { grid-column: auto; }.vefa-member-portal-dashboard .vefa-dashboard-resource-grid { grid-template-columns: 1fr; }.vefa-member-portal-dashboard .vefa-dashboard-resource { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 9px; }.vefa-member-portal-dashboard .vefa-dashboard-resource > span { grid-row: span 3; }.vefa-member-portal-dashboard .vefa-dashboard-resource p { grid-column: 2; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps { grid-template-columns: 1fr; gap: 14px; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li { grid-template-columns: 40px minmax(0, 1fr); justify-items: start; text-align: left; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps li:not(:last-child)::after { top: 42px; left: 19px; width: 1px; height: 21px; border-top: 0; border-left: 1px dashed #c7c0b6; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps strong { grid-column: 2; grid-row: 1; margin: 2px 0 0; }.vefa-member-portal-dashboard .vefa-dashboard-support-steps small { grid-column: 2; grid-row: 2; margin: -17px 0 0; }.vefa-member-portal-dashboard .vefa-dashboard-empty-inline { align-items: flex-start; flex-direction: column; }.vefa-member-portal-dashboard .vefa-dashboard-button { width: 100%; }.vefa-member-portal-dashboard .vefa-dashboard-button--outline { width: 100%; }
}
@media (max-width: 390px) {
    .vefa-member-portal-dashboard .vefa-dashboard-header { gap: 7px; padding-left: 64px; }.vefa-member-portal-dashboard .vefa-dashboard-header-button { display: none; }.vefa-member-portal-dashboard .vefa-dashboard-layout { padding-inline: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-card { padding: 16px; }.vefa-member-portal-dashboard .vefa-dashboard-moods { gap: 6px; }.vefa-member-portal-dashboard .vefa-dashboard-moods button span { width: 48px; height: 48px; font-size: 24px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card { gap: 10px; padding: 12px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card strong { font-size: 13px; }
}
body.vefa-dashboard-drawer-open { overflow: hidden; }

/* Volunteer pages use the approved Member Portal application frame. Operational
   components stay compact, but navigation, spacing and responsive behaviour are shared. */
.vefa-volunteer-portal .vefa-dashboard-header { min-height: 118px; }
.vefa-volunteer-portal .vefa-dashboard-welcome h1 { font-size: clamp(28px, 3vw, 38px); }
.vefa-volunteer-portal .vefa-dashboard-welcome p { max-width: 720px; }
.vefa-volunteer-portal .vefa-volunteer-header-action { display: flex; align-items: center; }
.vefa-volunteer-portal .vefa-presence-card { display: flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid #e7e2d8; border-radius: 10px; background: #fffdfa; color: #293d32; font-size: 11px; text-decoration: none; }
.vefa-volunteer-portal .vefa-presence-card > span { width: 8px; height: 8px; border-radius: 50%; background: #b76145; }.vefa-volunteer-portal .vefa-presence-card.is-online > span { background: #5d8c68; }
.vefa-volunteer-portal .vefa-presence-card small, .vefa-volunteer-portal .vefa-presence-card strong { display: block; }.vefa-volunteer-portal .vefa-presence-card small { color: #7a7b74; font-size: 9px; }.vefa-volunteer-portal .vefa-presence-card strong { margin-top: 1px; font-size: 10px; }
.vefa-volunteer-portal .vefa-volunteer-page-content { width: 100%; max-width: none; box-sizing: border-box; padding: 0 44px 34px; }
.vefa-volunteer-portal .vefa-command-metrics { gap: 12px; margin-bottom: 16px; }.vefa-volunteer-portal .vefa-command-metric { min-height: 96px; padding: 14px; border-color: #eae3d9; border-radius: 15px; background: rgba(255,253,250,.92); box-shadow: 0 5px 18px rgba(35,43,37,.03); }.vefa-volunteer-portal .vefa-command-metric__icon { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; }.vefa-volunteer-portal .vefa-command-metric strong { font-family: inherit; font-size: 27px; }.vefa-volunteer-portal .vefa-command-metric small { color: #706e67; }
.vefa-volunteer-portal .vefa-dashboard-columns { gap: 16px; margin-bottom: 16px; }.vefa-volunteer-portal .vefa-dashboard-columns--operations { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); }
.vefa-volunteer-portal .vefa-panel { padding: 18px 20px; border-color: #eae3d9; border-radius: 15px; background: rgba(255,253,250,.92); box-shadow: 0 5px 18px rgba(35,43,37,.03); }.vefa-volunteer-portal .vefa-panel--priority { border-top: 3px solid #d5a240; }.vefa-volunteer-portal .vefa-panel--today { background: linear-gradient(180deg, #fffdfa 0%, #fbf7ee 100%); }.vefa-volunteer-portal .vefa-panel--briefing { background: #123b30; }.vefa-volunteer-portal .vefa-panel-head { margin-bottom: 14px; }.vefa-volunteer-portal .vefa-panel-head h2 { color: #23392e; font-size: 16px; }.vefa-volunteer-portal .vefa-panel-kicker { color: #a6751b; font-size: 9px; }.vefa-volunteer-portal .vefa-panel-head a { color: #1c614a; font-size: 11px; }
.vefa-volunteer-portal .vefa-case-row { border-color: #eee8df; }.vefa-volunteer-portal .vefa-case-row > a, .vefa-volunteer-portal .vefa-case-row__summary { padding: 12px 0; }.vefa-volunteer-portal .vefa-case-row__body strong { font-size: 13px; }.vefa-volunteer-portal .vefa-case-row__meta, .vefa-volunteer-portal .vefa-case-row__body > span, .vefa-volunteer-portal .vefa-case-row__body small { font-size: 10px; }
.vefa-volunteer-portal .vefa-filter-bar, .vefa-volunteer-portal .vefa-queue-hero, .vefa-volunteer-portal .vefa-tab-metrics, .vefa-volunteer-portal .vefa-schedule-summary, .vefa-volunteer-portal .vefa-resource-banner, .vefa-volunteer-portal .vefa-callout, .vefa-volunteer-portal .vefa-safety-strip { border-color: #eae3d9; border-radius: 15px; background: rgba(255,253,250,.92); box-shadow: 0 5px 18px rgba(35,43,37,.03); }
.vefa-volunteer-portal .vefa-button { border-radius: 8px; font-size: 11px; }.vefa-volunteer-portal .vefa-button--primary { background: #0b4b3d; }.vefa-volunteer-portal .vefa-empty { padding: 18px 0 4px; }.vefa-volunteer-portal .vefa-empty strong { color: #263a30; font-size: 13px; }.vefa-volunteer-portal .vefa-empty span { color: #6d716a; font-size: 11px; }
.vefa-volunteer-portal .vefa-message-inbox, .vefa-volunteer-portal .vefa-profile-layout { gap: 16px; }.vefa-volunteer-portal .vefa-inbox-thread { padding: 12px 0; }.vefa-volunteer-portal .vefa-inbox-tips ol { gap: 11px; }.vefa-volunteer-portal .vefa-guidance-grid { gap: 12px; }.vefa-volunteer-portal .vefa-guidance-grid article { padding: 16px; border-color: #eae3d9; border-radius: 15px; background: rgba(255,253,250,.92); box-shadow: 0 5px 18px rgba(35,43,37,.03); }
.vefa-volunteer-portal .vefa-safety-strip { margin-top: 16px; }.vefa-volunteer-portal .vefa-case-command-bar { border-radius: 15px; }.vefa-volunteer-portal .vefa-case-workspace-v31 { gap: 16px; }.vefa-volunteer-portal .vefa-stack-form input, .vefa-volunteer-portal .vefa-stack-form select, .vefa-volunteer-portal .vefa-stack-form textarea, .vefa-volunteer-portal .vefa-reply-composer textarea { border-color: #dfd8cc; border-radius: 8px; background: #fffdfa; }
@media (max-width: 1180px) { .vefa-volunteer-portal .vefa-volunteer-page-content { padding-inline: 24px; }.vefa-volunteer-portal .vefa-dashboard-columns--operations { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); } }
@media (max-width: 1024px) { .vefa-volunteer-portal .vefa-dashboard-columns--operations { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .vefa-volunteer-portal .vefa-dashboard-header { min-height: 0; }.vefa-volunteer-portal .vefa-volunteer-page-content { padding: 4px 18px 24px; }.vefa-volunteer-portal .vefa-volunteer-header-action { display: none; }.vefa-volunteer-portal .vefa-command-metrics { grid-template-columns: 1fr; }.vefa-volunteer-portal .vefa-command-metric { min-height: 82px; }.vefa-volunteer-portal .vefa-panel { padding: 16px; }.vefa-volunteer-portal .vefa-dashboard-columns { margin-bottom: 14px; } }
@media (max-width: 390px) { .vefa-volunteer-portal .vefa-volunteer-page-content { padding-inline: 12px; } }

/* Member dashboard reference-match pass. Keep these overrides dashboard-scoped. */
body.vefa-member-portal-dashboard {
    background: #fbf8f1;
    color: #17251f;
    font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
    line-height: 1.45;
}
.vefa-member-portal-dashboard .vefa-dashboard-app { display: block; min-height: 100vh; }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar {
    width: 216px;
    padding: 26px 11px 20px;
    overflow: hidden auto;
    background: radial-gradient(circle at 10% 65%, rgba(78, 125, 96, .14), transparent 30%), #0b382e;
}
.vefa-member-portal-dashboard .vefa-dashboard-brand { display: block; min-height: 119px; margin: 0 0 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-brand__mark { display: block; width: 76px; height: 48px; margin: 0 auto 4px; fill: none; stroke: #e0a21a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: none; }
.vefa-member-portal-dashboard .vefa-dashboard-brand strong { color: #f6e9ce; font-size: 34px; letter-spacing: .17em; line-height: 1; }
.vefa-member-portal-dashboard .vefa-dashboard-brand small { margin-top: 7px; color: #f2b91f; font-size: 9px; letter-spacing: .16em; }
.vefa-member-portal-dashboard .vefa-dashboard-nav { position: relative; z-index: 2; gap: 2px; }
.vefa-member-portal-dashboard .vefa-dashboard-nav a { min-height: 54px; gap: 14px; padding: 0 25px; border-radius: 13px; font-size: 14px; font-weight: 500; }
.vefa-member-portal-dashboard .vefa-dashboard-nav a.is-active { border-color: rgba(255,255,255,.16); background: linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.07)); box-shadow: inset 4px 0 #fff; }
.vefa-member-portal-dashboard .vefa-dashboard-nav svg { width: 19px; height: 19px; stroke-width: 1.6; }
.vefa-member-portal-dashboard .vefa-dashboard-botanical { position: absolute; z-index: 0; left: 0; bottom: 64px; width: 216px; height: 330px; pointer-events: none; }
.vefa-member-portal-dashboard .vefa-dashboard-botanical path { fill: rgba(161, 183, 145, .22); stroke: rgba(192, 202, 168, .13); stroke-width: 1; }
.vefa-member-portal-dashboard .vefa-dashboard-botanical .stem { fill: none; stroke: #cc8e10; stroke-width: 1.2; }
.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer { position: relative; z-index: 2; padding: 20px 11px 0 34px; font-size: 11px; line-height: 1.8; }

/* Member appointments: compact extension of the established dashboard cards. */
.vefa-member-portal-dashboard .vefa-appointments-content { min-width: 0; }
.vefa-member-portal-dashboard .vefa-appointments-intro { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin: 22px 0 16px; padding: 4px 2px; }
.vefa-member-portal-dashboard .vefa-appointments-intro h2 { margin: 5px 0 6px; color: var(--vefa-dashboard-forest); font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.vefa-member-portal-dashboard .vefa-appointments-intro p { max-width: 610px; margin: 0; color: #69645e; font-size: 13px; line-height: 1.65; }
.vefa-member-portal-dashboard .vefa-member-appointment-list { display: grid; gap: 10px; }
.vefa-member-portal-dashboard .vefa-member-appointment-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 16px; border: 1px solid #eee1cf; border-radius: 13px; background: #fffdfa; }
.vefa-member-portal-dashboard .vefa-member-appointment-card__copy { min-width: 0; }
.vefa-member-portal-dashboard .vefa-member-appointment-card__copy > span { display: block; color: #878178; font-size: 11px; font-weight: 750; letter-spacing: .02em; }
.vefa-member-portal-dashboard .vefa-member-appointment-card h3 { margin: 5px 0 3px; color: #273a31; font-size: 14px; }
.vefa-member-portal-dashboard .vefa-member-appointment-card p { margin: 0; color: #6c6b64; font-size: 12px; line-height: 1.5; }
.vefa-member-portal-dashboard .vefa-member-appointment-card__actions { display: grid; justify-items: end; gap: 9px; flex: 0 0 auto; }
.vefa-member-portal-dashboard .vefa-member-appointment-card__actions > a { color: #1f604b; font-size: 12px; font-weight: 800; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-support-status.is-appointment-requested, .vefa-member-portal-dashboard .vefa-support-status.is-appointment-reviewing { background: #fff4d9; color: #8a5b0c; }
.vefa-member-portal-dashboard .vefa-support-status.is-appointment-confirmed { background: #e5f1e8; color: #1e6848; }
.vefa-member-portal-dashboard .vefa-support-status.is-appointment-reschedule_requested { background: #f6e9d5; color: #8a5b0c; }
.vefa-member-portal-dashboard .vefa-support-status.is-appointment-cancelled, .vefa-member-portal-dashboard .vefa-support-status.is-appointment-completed { background: #efeeeb; color: #66635e; }
.vefa-member-portal-dashboard .vefa-appointment-timezone { margin: -3px 0 13px; color: #77736c; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-appointment-detail { margin-top: 18px; }
.vefa-member-portal-dashboard .vefa-appointment-note, .vefa-member-portal-dashboard .vefa-appointment-contact { margin-top: 14px; padding: 14px 15px; border: 1px solid #eee1cf; border-radius: 11px; background: #fffdfa; }
.vefa-member-portal-dashboard .vefa-appointment-note h3, .vefa-member-portal-dashboard .vefa-appointment-contact h3 { margin: 0 0 6px; color: #354239; font-size: 13px; }
.vefa-member-portal-dashboard .vefa-appointment-note p, .vefa-member-portal-dashboard .vefa-appointment-contact p { margin: 0; color: #625f58; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.vefa-member-portal-dashboard .vefa-appointment-contact a { color: #1f604b; font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.vefa-member-portal-dashboard .vefa-appointment-action-form { display: grid; gap: 12px; margin-top: 18px; padding: 17px; border: 1px solid #dfcfb8; border-radius: 13px; background: #fcf6eb; }
.vefa-member-portal-dashboard .vefa-appointment-action-form h3 { margin: 0; color: #284235; font-size: 15px; }
.vefa-member-portal-dashboard .vefa-appointment-action-form > p { margin: -5px 0 2px; color: #65625c; font-size: 12px; line-height: 1.5; }
.vefa-member-portal-dashboard .vefa-appointment-action-form label { display: grid; gap: 6px; color: #474640; font-size: 12px; font-weight: 750; }
.vefa-member-portal-dashboard .vefa-appointment-action-form input, .vefa-member-portal-dashboard .vefa-appointment-action-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #d9cebd; border-radius: 8px; background: #fffdfa; padding: 9px 10px; color: #30332f; font: inherit; }
.vefa-member-portal-dashboard .vefa-appointment-cancel { margin-top: 14px; }
.vefa-member-portal-appointments .vefa-appointments-layout { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.vefa-member-portal-appointments .vefa-appointments-content { display: grid; gap: 18px; }
.vefa-member-portal-appointments .vefa-dashboard-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 16px; border: 0; border-radius: 10px; background: var(--vefa-dashboard-forest); color: #fff; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
.vefa-member-portal-appointments .vefa-support-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.vefa-member-portal-appointments .vefa-support-summary article { min-height: 72px; padding: 14px 16px; border: 1px solid var(--vefa-dashboard-line); border-radius: 14px; background: rgba(255,253,250,.9); box-shadow: var(--vefa-dashboard-shadow); }
.vefa-member-portal-appointments .vefa-support-summary span, .vefa-member-portal-appointments .vefa-support-summary strong { display: block; }
.vefa-member-portal-appointments .vefa-support-summary span { color: #6a716a; font-size: 11px; font-weight: 650; }
.vefa-member-portal-appointments .vefa-support-summary strong { margin-top: 7px; color: var(--vefa-dashboard-forest); font-size: 23px; line-height: 1; }
.vefa-member-portal-appointments .vefa-support-list-card, .vefa-member-portal-appointments .vefa-support-form-card, .vefa-member-portal-appointments .vefa-appointment-detail { padding: 20px 22px; }
.vefa-member-portal-appointments .vefa-dashboard-card__heading p { font-weight: 500; }
.vefa-member-portal-appointments .vefa-appointment-empty, .vefa-member-portal-appointments .vefa-support-empty { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 16px; min-height: 108px; margin-top: 14px; padding: 10px 2px; }
.vefa-member-portal-appointments .vefa-appointment-empty > span, .vefa-member-portal-appointments .vefa-support-empty > span { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--vefa-dashboard-sage); color: #617c5a; }
.vefa-member-portal-appointments .vefa-appointment-empty svg, .vefa-member-portal-appointments .vefa-support-empty svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.vefa-member-portal-appointments .vefa-appointment-empty strong, .vefa-member-portal-appointments .vefa-support-empty strong { color: #26342b; font-size: 14px; }
.vefa-member-portal-appointments .vefa-appointment-empty p, .vefa-member-portal-appointments .vefa-support-empty p { margin: 5px 0 8px; color: #6a706a; font-size: 12px; line-height: 1.5; }
.vefa-member-portal-appointments .vefa-appointment-empty a, .vefa-member-portal-appointments .vefa-support-empty a { color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; }
.vefa-member-portal-appointments .vefa-support-form { display: grid; gap: 14px; margin-top: 18px; }
.vefa-member-portal-appointments .vefa-support-form label > span { display: block; margin-bottom: 6px; color: #34433a; font-size: 11px; font-weight: 750; }
.vefa-member-portal-appointments .vefa-support-form input[type="date"], .vefa-member-portal-appointments .vefa-support-form input[type="time"], .vefa-member-portal-appointments .vefa-support-form select, .vefa-member-portal-appointments .vefa-support-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #dedbd2; border-radius: 10px; background: #fff; color: #26342b; font: inherit; font-size: 12px; line-height: 1.5; }
.vefa-member-portal-appointments .vefa-support-form input[type="date"], .vefa-member-portal-appointments .vefa-support-form input[type="time"], .vefa-member-portal-appointments .vefa-support-form select { min-height: 42px; padding: 0 11px; }
.vefa-member-portal-appointments .vefa-support-form textarea { min-height: 86px; padding: 10px 11px; resize: vertical; }
.vefa-member-portal-appointments .vefa-support-form input:focus, .vefa-member-portal-appointments .vefa-support-form select:focus, .vefa-member-portal-appointments .vefa-support-form textarea:focus { border-color: #b48325; outline: 3px solid rgba(205,162,74,.18); }
.vefa-member-portal-appointments .vefa-support-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vefa-member-portal-appointments .vefa-support-check { display: flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid #dedbd2; border-radius: 10px; background: #fffdf9; }
.vefa-member-portal-appointments .vefa-support-check input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--vefa-dashboard-forest); }
.vefa-member-portal-appointments .vefa-support-check > span { margin: 0 !important; }.vefa-member-portal-appointments .vefa-support-check strong, .vefa-member-portal-appointments .vefa-support-check small { display: block; }.vefa-member-portal-appointments .vefa-support-check strong { color: #34433a; font-size: 11px; }.vefa-member-portal-appointments .vefa-support-check small { margin-top: 1px; color: #7a756c; font-size: 10px; font-weight: 500; }
.vefa-member-portal-appointments .vefa-support-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }.vefa-member-portal-appointments .vefa-support-form__actions > span { color: #767a73; font-size: 11px; }
@media (max-width: 760px) { .vefa-member-portal-appointments .vefa-support-summary, .vefa-member-portal-appointments .vefa-support-form__grid { grid-template-columns: 1fr; }.vefa-member-portal-appointments .vefa-support-list-card, .vefa-member-portal-appointments .vefa-support-form-card, .vefa-member-portal-appointments .vefa-appointment-detail { padding: 17px; } }
@media (max-width: 700px) {
    .vefa-member-portal-dashboard .vefa-appointments-intro { align-items: flex-start; flex-direction: column; }
    .vefa-member-portal-dashboard .vefa-appointments-intro .vefa-dashboard-button { width: 100%; box-sizing: border-box; text-align: center; }
    .vefa-member-portal-dashboard .vefa-member-appointment-card { align-items: flex-start; flex-direction: column; }
    .vefa-member-portal-dashboard .vefa-member-appointment-card__actions { justify-items: start; }
    .vefa-member-portal-dashboard .vefa-appointment-preferences { grid-template-columns: 1fr; }
}
.vefa-member-portal-dashboard .vefa-dashboard-sidebar__footer > span { font-size: 29px; }

.vefa-member-portal-dashboard .vefa-dashboard-main { width: calc(100% - 216px); height: 100vh; margin-left: 216px; overflow-y: auto; }
.vefa-member-portal-dashboard .vefa-dashboard-header { width: 100%; max-width: none; min-height: 126px; margin: 0; padding: 31px 44px 21px; }
.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 { font-family: Georgia, "Times New Roman", serif; font-size: 38px; letter-spacing: -.035em; }
.vefa-member-portal-dashboard .vefa-dashboard-welcome h1 span { display: inline-block; color: #82946d; font-size: 31px; transform: rotate(-12deg); }
.vefa-member-portal-dashboard .vefa-dashboard-welcome p { margin-top: 7px; font-size: 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-header__controls { gap: 18px; }
.vefa-member-portal-dashboard .vefa-dashboard-search { width: 414px; min-width: 330px; min-height: 43px; padding: 0 16px; border-color: #e9e2d7; background: rgba(255,255,255,.34); font-size: 12px; }
.vefa-member-portal-dashboard .vefa-dashboard-header-button { width: 42px; height: 42px; }
.vefa-member-portal-dashboard .vefa-dashboard-user-menu .vefa-avatar { width: 48px; height: 48px; background: radial-gradient(circle at 55% 30%, #f5d1b1 0 13%, transparent 14%), radial-gradient(circle at 50% 42%, #73442f 0 28%, #2e251f 29% 39%, #c37e55 40% 56%, #ead3be 57%); font-size: 0; }

.vefa-member-portal-dashboard .vefa-dashboard-layout { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) 315px; gap: 40px; margin: 0; padding: 0 24px 28px 44px; }
.vefa-member-portal-dashboard .vefa-dashboard-content { gap: 16px; }
.vefa-member-portal-dashboard .vefa-dashboard-rail { gap: 20px; }
.vefa-member-portal-dashboard .vefa-dashboard-privacy { min-height: 43px; margin-bottom: 10px; padding: 9px 18px; border-color: #dfe3cf; border-radius: 11px; background: linear-gradient(90deg, #f0f2e8, #f1f1e7); font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-privacy::before { width: 4px; align-self: stretch; margin: -9px 0 -9px -18px; border-radius: 10px 0 0 10px; background: #d6dcbf; content: ""; }
.vefa-member-portal-dashboard .vefa-dashboard-actions { gap: 18px; margin-bottom: 6px; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card { grid-template-columns: 72px minmax(0, 1fr) 10px; gap: 14px; min-height: 138px; padding: 15px 14px; border-color: #eae3d9; border-radius: 15px; box-shadow: 0 6px 18px rgba(35,43,37,.035); }
.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { width: 72px; height: 72px; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon svg { width: 45px; height: 45px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card strong { font-size: 15px; font-weight: 700; line-height: 1.25; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card small { margin-top: 8px; font-size: 11px; line-height: 1.55; }
.vefa-member-portal-dashboard .vefa-dashboard-action-card b { font-size: 24px; }

.vefa-member-portal-dashboard .vefa-dashboard-card { padding: 21px 22px; border-color: #eae3d9; border-radius: 15px; background: rgba(255,253,250,.92); box-shadow: 0 5px 18px rgba(35,43,37,.03); }
.vefa-member-portal-dashboard .vefa-dashboard-card__heading h2 { font-size: 16px; font-weight: 700; }
.vefa-member-portal-dashboard .vefa-dashboard-card__heading p { margin-top: 6px; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-support-card { min-height: 198px; }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps { padding: 22px 25px 0; }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps li:not(:last-child)::after { top: 21px; left: calc(50% + 28px); width: calc(100% - 52px); }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps li > span { width: 42px; height: 42px; font-size: 18px; }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps strong { margin-top: 11px; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-support-steps small { font-size: 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-empty-inline { min-height: 112px; justify-content: center; padding: 20px 26px 0; border-radius: 12px; text-align: left; }
.vefa-member-portal-dashboard .vefa-dashboard-empty-inline > div { flex: 1; }

.vefa-member-portal-dashboard .vefa-dashboard-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.vefa-member-portal-dashboard .vefa-dashboard-mood-card, .vefa-member-portal-dashboard .vefa-dashboard-journey-card { min-height: 206px; }
.vefa-member-portal-dashboard .vefa-dashboard-moods { gap: 13px; margin-top: 25px; }
.vefa-member-portal-dashboard .vefa-dashboard-moods button span { width: 58px; height: 58px; }
.vefa-member-portal-dashboard .vefa-dashboard-moods svg { width: 39px; height: 39px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; }
.vefa-member-portal-dashboard .vefa-dashboard-moods button small { font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-mood-feedback { margin-top: 8px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey { display: grid; grid-template-columns: minmax(0, 1fr) 102px; gap: 18px; align-items: center; margin-top: 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li { display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li > span.is-sage { background: #e8eee1; color: #637d5b; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li > span.is-peach { background: #fbe9df; color: #ba6046; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li > span.is-gold { background: #fff0d5; color: #c68208; }
.vefa-member-portal-dashboard .vefa-dashboard-journey li strong { font-size: 13px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey__ring { display: grid; width: 101px; height: 101px; place-items: center; border: 7px solid #ebe8e3; border-radius: 50%; text-align: center; }
.vefa-member-portal-dashboard .vefa-dashboard-journey__ring strong, .vefa-member-portal-dashboard .vefa-dashboard-journey__ring small { display: block; }
.vefa-member-portal-dashboard .vefa-dashboard-journey__ring strong { color: #314137; font-size: 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey__ring small { color: #6f746e; font-size: 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-journey__link { display: block; margin: -1px 3px 0 0; color: var(--vefa-dashboard-forest); font-size: 10px; font-weight: 700; text-align: right; text-decoration: none; }

.vefa-member-portal-dashboard .vefa-dashboard-bottom-grid { grid-template-columns: minmax(0, 1fr) 218px; gap: 20px; }
.vefa-member-portal-dashboard .vefa-dashboard-recommendations, .vefa-member-portal-dashboard .vefa-dashboard-quick { min-height: 287px; }
.vefa-member-portal-dashboard .vefa-dashboard-resource-grid { gap: 12px; margin-top: 16px; }
.vefa-member-portal-dashboard .vefa-dashboard-resource { display: block; min-height: 203px; overflow: hidden; padding: 0; border-color: #ece5dc; border-radius: 12px; background: #fff; }
.vefa-member-portal-dashboard .vefa-dashboard-resource__art { position: relative; display: block; height: 76px; overflow: hidden; background: linear-gradient(145deg, #dfe7d3, #f5f1e4); }
.vefa-member-portal-dashboard .vefa-dashboard-resource__art::before, .vefa-member-portal-dashboard .vefa-dashboard-resource__art::after { position: absolute; width: 62px; height: 22px; border-radius: 100% 0; background: rgba(93,127,84,.28); content: ""; transform: rotate(-28deg); }
.vefa-member-portal-dashboard .vefa-dashboard-resource__art::before { left: -8px; bottom: 15px; }.vefa-member-portal-dashboard .vefa-dashboard-resource__art::after { left: 34px; bottom: -2px; transform: rotate(30deg); }
.vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(2) .vefa-dashboard-resource__art { background: linear-gradient(150deg, #ffefd8, #f7d9a4); }.vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(2) .vefa-dashboard-resource__art::before, .vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(2) .vefa-dashboard-resource__art::after { background: rgba(226,133,45,.36); }
.vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(3) .vefa-dashboard-resource__art { background: linear-gradient(150deg, #d8d0e8, #9d91bc); }.vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(3) .vefa-dashboard-resource__art::before, .vefa-member-portal-dashboard .vefa-dashboard-resource:nth-child(3) .vefa-dashboard-resource__art::after { background: rgba(61,61,87,.23); }
.vefa-member-portal-dashboard .vefa-dashboard-resource__art i { position: absolute; z-index: 2; right: 16px; bottom: -8px; color: rgba(255,255,255,.72); font-size: 62px; font-style: normal; transform: rotate(-22deg); }
.vefa-member-portal-dashboard .vefa-dashboard-resource__copy { display: block; padding: 8px 11px 10px; }
.vefa-member-portal-dashboard .vefa-dashboard-resource__copy small, .vefa-member-portal-dashboard .vefa-dashboard-resource__copy strong { display: block; }
.vefa-member-portal-dashboard .vefa-dashboard-resource__copy small { color: #7c7a74; font-size: 8px; }
.vefa-member-portal-dashboard .vefa-dashboard-resource__copy strong { margin-top: 2px; font-size: 11px; line-height: 1.28; }
.vefa-member-portal-dashboard .vefa-dashboard-resource__copy p { margin: 5px 0 0; color: #6f716d; font-size: 9px; line-height: 1.45; }
.vefa-member-portal-dashboard .vefa-dashboard-empty--recommendations { grid-template-columns: 110px minmax(0, 1fr); align-items: center; min-height: 190px; gap: 20px; }
.vefa-member-portal-dashboard .vefa-dashboard-empty__art { display: grid; width: 108px; height: 108px; place-items: center; border-radius: 14px; background: linear-gradient(145deg,#dfe7d3,#f7ead2); color: #7d9872; font-size: 58px; }
.vefa-member-portal-dashboard .vefa-dashboard-quick-list { gap: 8px; margin-top: 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-quick-list a { min-height: 41px; }

.vefa-member-portal-dashboard .vefa-dashboard-appointment { min-height: 373px; padding: 21px 23px; background: linear-gradient(160deg, #fffdfa, #fcf7ef); }
.vefa-member-portal-dashboard .vefa-dashboard-appointment .vefa-dashboard-card__heading > span { width: 41px; height: 41px; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment .vefa-dashboard-card__heading svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment__body { margin-top: 19px; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty { display: grid; justify-items: center; min-height: 230px; align-content: center; text-align: center; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty > span { display: grid; width: 78px; height: 78px; place-items: center; margin-bottom: 14px; border-radius: 50%; background: #f5ecdc; color: #b57a16; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty svg { width: 43px; height: 43px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty strong { font-size: 13px; }
.vefa-member-portal-dashboard .vefa-dashboard-appointment-empty p { max-width: 210px; margin: 6px 0 0; color: #75766f; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-urgent { grid-template-columns: 52px minmax(0,1fr); min-height: 164px; padding: 16px 16px 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-urgent > a { grid-column: 1 / -1; display: flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; background: #b52e3e; color: #fff; font-size: 11px; font-weight: 800; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-dashboard-contact { min-height: 122px; padding: 17px 22px; }
.vefa-member-portal-dashboard .vefa-dashboard-contact h2 { margin: 0; font-size: 15px; }
.vefa-member-portal-dashboard .vefa-dashboard-contact p { margin: 5px 0 9px; color: #70736e; font-size: 11px; }
.vefa-member-portal-dashboard .vefa-dashboard-contact a { display: flex; align-items: center; gap: 9px; color: #24312b; font-size: 11px; text-decoration: none; }
.vefa-member-portal-dashboard .vefa-dashboard-contact a > span { font-size: 18px; transform: rotate(-35deg); }
.vefa-member-portal-dashboard .vefa-dashboard-reminder { min-height: 176px; padding: 24px 35px; }

@media (max-width: 1280px) {
    .vefa-member-portal-dashboard .vefa-dashboard-layout { grid-template-columns: minmax(0, 1fr) 286px; gap: 24px; padding-inline: 28px; }
    .vefa-member-portal-dashboard .vefa-dashboard-header { padding-inline: 28px; }
    .vefa-member-portal-dashboard .vefa-dashboard-search { width: 360px; }
    .vefa-member-portal-dashboard .vefa-dashboard-actions { gap: 12px; }
    .vefa-member-portal-dashboard .vefa-dashboard-action-card { grid-template-columns: 54px minmax(0, 1fr); gap: 10px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon { width: 54px; height: 54px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card__icon svg { width: 36px; height: 36px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card b { display: none; }
    .vefa-member-portal-dashboard .vefa-dashboard-bottom-grid { grid-template-columns: minmax(0,1fr) 205px; }
}
@media (max-width: 1040px) {
    .vefa-member-portal-dashboard .vefa-dashboard-layout { grid-template-columns: 1fr; }
    .vefa-member-portal-dashboard .vefa-dashboard-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vefa-member-portal-dashboard .vefa-dashboard-appointment { min-height: 330px; }
    .vefa-member-portal-dashboard .vefa-dashboard-reminder { grid-column: auto; }
}
@media (max-width: 760px) {
    .vefa-member-portal-dashboard .vefa-dashboard-sidebar { width: min(82vw,292px); }
    .vefa-member-portal-dashboard .vefa-dashboard-main { width: 100%; height: auto; margin-left: 0; overflow: visible; }
    .vefa-member-portal-dashboard .vefa-dashboard-header { min-height: 105px; padding: 22px 18px 16px 70px; }
    .vefa-member-portal-dashboard .vefa-dashboard-layout { padding: 0 18px 24px; }
    .vefa-member-portal-dashboard .vefa-dashboard-actions, .vefa-member-portal-dashboard .vefa-dashboard-duo, .vefa-member-portal-dashboard .vefa-dashboard-bottom-grid, .vefa-member-portal-dashboard .vefa-dashboard-rail { grid-template-columns: 1fr; }
    .vefa-member-portal-dashboard .vefa-dashboard-action-card { grid-template-columns: 55px minmax(0,1fr) 10px; min-height: 90px; }.vefa-member-portal-dashboard .vefa-dashboard-action-card b { display: block; }
    .vefa-member-portal-dashboard .vefa-dashboard-support-card, .vefa-member-portal-dashboard .vefa-dashboard-mood-card, .vefa-member-portal-dashboard .vefa-dashboard-journey-card, .vefa-member-portal-dashboard .vefa-dashboard-recommendations, .vefa-member-portal-dashboard .vefa-dashboard-quick, .vefa-member-portal-dashboard .vefa-dashboard-appointment, .vefa-member-portal-dashboard .vefa-dashboard-urgent, .vefa-member-portal-dashboard .vefa-dashboard-contact, .vefa-member-portal-dashboard .vefa-dashboard-reminder { min-height: 0; }
    .vefa-member-portal-dashboard .vefa-dashboard-resource-grid { grid-template-columns: 1fr; }
    .vefa-member-portal-dashboard .vefa-dashboard-resource { display: grid; grid-template-columns: 110px minmax(0,1fr); min-height: 125px; }.vefa-member-portal-dashboard .vefa-dashboard-resource__art { height: 100%; }.vefa-member-portal-dashboard .vefa-dashboard-resource__copy { padding: 14px; }
    .vefa-member-portal-dashboard .vefa-dashboard-appointment-empty { min-height: 190px; }
}
@media (max-width: 390px) {
    .vefa-member-portal-dashboard .vefa-dashboard-layout { padding-inline: 12px; }
    .vefa-member-portal-dashboard .vefa-dashboard-welcome h1 { font-size: 27px; }
    .vefa-member-portal-dashboard .vefa-dashboard-moods { gap: 4px; }.vefa-member-portal-dashboard .vefa-dashboard-moods button span { width: 49px; height: 49px; }.vefa-member-portal-dashboard .vefa-dashboard-moods svg { width: 34px; height: 34px; }
    .vefa-member-portal-dashboard .vefa-dashboard-journey { grid-template-columns: 1fr 88px; }.vefa-member-portal-dashboard .vefa-dashboard-journey__ring { width: 86px; height: 86px; }
    .vefa-member-portal-dashboard .vefa-dashboard-empty--recommendations { grid-template-columns: 1fr; }.vefa-member-portal-dashboard .vefa-dashboard-empty__art { width: 100%; height: 86px; }
}

/* Member Support Centre: a compact, real request workflow within the approved Member shell. */
.vefa-member-portal-support .vefa-dashboard-main { font-weight: 500; }
.vefa-member-portal-support .vefa-dashboard-welcome p,
.vefa-member-portal-support .vefa-dashboard-card__heading p,
.vefa-member-portal-support .vefa-support-intro p,
.vefa-member-portal-support .vefa-member-request-card p,
.vefa-member-portal-support .vefa-support-empty p,
.vefa-member-portal-support .vefa-support-detail__head p,
.vefa-member-portal-support .vefa-support-detail__description p,
.vefa-member-portal-support .vefa-support-emergency p { font-weight: 500; }
.vefa-member-portal-support .vefa-member-request-card__meta,
.vefa-member-portal-support .vefa-support-detail__facts dt,
.vefa-member-portal-support .vefa-support-timeline small,
.vefa-member-portal-support .vefa-support-form__actions > span,
.vefa-member-portal-support .vefa-support-check small { font-weight: 550; }
.vefa-member-portal-support .vefa-support-centre-layout { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.vefa-member-portal-support .vefa-support-centre-content { gap: 18px; }
.vefa-member-portal-support .vefa-support-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 4px 2px; }
.vefa-member-portal-support .vefa-support-kicker { color: #b57910; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vefa-member-portal-support .vefa-support-intro h2 { margin: 5px 0 0; color: var(--vefa-dashboard-forest); font-family: Georgia, serif; font-size: clamp(24px, 3vw, 32px); font-weight: 500; letter-spacing: -.025em; }
.vefa-member-portal-support .vefa-support-intro p { max-width: 600px; margin: 7px 0 0; color: #667069; font-size: 13px; line-height: 1.55; }
.vefa-member-portal-support .vefa-dashboard-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 16px; border: 0; border-radius: 10px; background: var(--vefa-dashboard-forest); color: #fff; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
.vefa-member-portal-support .vefa-dashboard-button:hover, .vefa-member-portal-support .vefa-dashboard-button:focus-visible { background: #145143; color: #fff; }
.vefa-member-portal-support .vefa-support-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.vefa-member-portal-support .vefa-support-summary article { min-height: 92px; padding: 15px 17px; border: 1px solid var(--vefa-dashboard-line); border-radius: 14px; background: rgba(255,253,250,.9); box-shadow: var(--vefa-dashboard-shadow); }
.vefa-member-portal-support .vefa-support-summary span, .vefa-member-portal-support .vefa-support-summary strong { display: block; }
.vefa-member-portal-support .vefa-support-summary span { color: #6a716a; font-size: 11px; font-weight: 650; }
.vefa-member-portal-support .vefa-support-summary strong { margin-top: 8px; color: var(--vefa-dashboard-forest); font-size: 25px; line-height: 1; }
.vefa-member-portal-support .vefa-support-alert { display: grid; gap: 3px; padding: 13px 16px; border: 1px solid; border-radius: 12px; font-size: 12px; }
.vefa-member-portal-support .vefa-support-alert strong { font-size: 13px; }.vefa-member-portal-support .vefa-support-alert span { line-height: 1.45; }
.vefa-member-portal-support .vefa-support-alert.is-success { border-color: #bbd6bd; background: #f0f7ef; color: #275c35; }.vefa-member-portal-support .vefa-support-alert.is-error { border-color: #efc4bc; background: #fff4f1; color: #8c3328; }
.vefa-member-portal-support .vefa-support-list-card, .vefa-member-portal-support .vefa-support-detail, .vefa-member-portal-support .vefa-support-form-card { padding: 20px 22px; }
.vefa-member-portal-support .vefa-member-request-list { display: grid; gap: 10px; margin-top: 17px; }
.vefa-member-portal-support .vefa-member-request-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px; border: 1px solid #ebe4da; border-radius: 12px; background: #fffdfa; }
.vefa-member-portal-support .vefa-member-request-card__main { min-width: 0; }.vefa-member-portal-support .vefa-member-request-card__meta { display: block; color: #8a7b65; font-size: 10px; font-weight: 750; letter-spacing: .025em; }
.vefa-member-portal-support .vefa-member-request-card h3 { margin: 5px 0 3px; color: #18261f; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }.vefa-member-portal-support .vefa-member-request-card p { margin: 0; color: #687069; font-size: 11px; overflow-wrap: anywhere; }
.vefa-member-portal-support .vefa-member-request-card__actions { display: grid; flex: 0 0 auto; justify-items: end; gap: 8px; }.vefa-member-portal-support .vefa-member-request-card__actions a { color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; }.vefa-member-portal-support .vefa-member-request-card__actions a:hover, .vefa-member-portal-support .vefa-member-request-card__actions a:focus-visible { text-decoration: underline; }
.vefa-member-portal-support .vefa-support-status { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 9px; border-radius: 999px; background: #f7e8c9; color: #85590d; font-size: 10px; font-weight: 800; text-align: center; }.vefa-member-portal-support .vefa-support-status.is-in_progress { background: #e4f0e7; color: #306641; }.vefa-member-portal-support .vefa-support-status.is-follow_up { background: #e8eef8; color: #315b8e; }.vefa-member-portal-support .vefa-support-status.is-closed { background: #eeeeeb; color: #5f6660; }
.vefa-member-portal-support .vefa-member-request-list.is-closed .vefa-member-request-card { background: #faf8f3; }.vefa-member-portal-support .vefa-member-request-list.is-closed { margin-top: 14px; }
.vefa-member-portal-support .vefa-support-empty { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 16px; min-height: 150px; margin-top: 14px; padding: 14px 8px; }.vefa-member-portal-support .vefa-support-empty > span { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--vefa-dashboard-sage); color: #617c5a; }.vefa-member-portal-support .vefa-support-empty svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }.vefa-member-portal-support .vefa-support-empty strong { color: #26342b; font-size: 14px; }.vefa-member-portal-support .vefa-support-empty p { margin: 5px 0 8px; color: #6a706a; font-size: 12px; line-height: 1.5; }.vefa-member-portal-support .vefa-support-empty a { color: var(--vefa-dashboard-forest); font-size: 11px; font-weight: 800; text-decoration: none; }
.vefa-member-portal-support .vefa-support-detail__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid #ece5db; }.vefa-member-portal-support .vefa-support-detail__head h2 { margin: 5px 0 3px; color: #18261f; font-size: 19px; overflow-wrap: anywhere; }.vefa-member-portal-support .vefa-support-detail__head p { margin: 0; color: #677069; font-size: 12px; }
.vefa-member-portal-support .vefa-support-detail__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 18px 0; }.vefa-member-portal-support .vefa-support-detail__facts div { min-width: 0; }.vefa-member-portal-support .vefa-support-detail__facts dt { color: #7b7d76; font-size: 10px; font-weight: 750; text-transform: uppercase; }.vefa-member-portal-support .vefa-support-detail__facts dd { margin: 4px 0 0; color: #26362c; font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
.vefa-member-portal-support .vefa-support-detail__description { padding: 16px; border-radius: 11px; background: #faf7ef; }.vefa-member-portal-support .vefa-support-detail__description h3, .vefa-member-portal-support .vefa-support-timeline h3 { margin: 0; color: #26342b; font-size: 13px; }.vefa-member-portal-support .vefa-support-detail__description p { margin: 8px 0 0; color: #4e5d53; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.vefa-member-portal-support .vefa-support-timeline { margin-top: 20px; }.vefa-member-portal-support .vefa-support-timeline ol { position: relative; display: grid; gap: 13px; margin: 14px 0 0; padding: 0; list-style: none; }.vefa-member-portal-support .vefa-support-timeline ol::before { position: absolute; top: 20px; bottom: 20px; left: 15px; width: 2px; background: #e2e9da; content: ""; }.vefa-member-portal-support .vefa-support-timeline li { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: center; }.vefa-member-portal-support .vefa-support-timeline li > span { z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #edf1e7; color: #607c57; }.vefa-member-portal-support .vefa-support-timeline li.is-current > span { background: #f9ebd1; color: #aa710d; }.vefa-member-portal-support .vefa-support-timeline svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }.vefa-member-portal-support .vefa-support-timeline strong, .vefa-member-portal-support .vefa-support-timeline small { display: block; }.vefa-member-portal-support .vefa-support-timeline strong { color: #2e3d32; font-size: 12px; }.vefa-member-portal-support .vefa-support-timeline small { margin-top: 2px; color: #777c76; font-size: 11px; line-height: 1.4; }
.vefa-member-portal-support .vefa-support-withdraw { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #ece5db; }.vefa-member-portal-support .vefa-support-withdraw strong, .vefa-member-portal-support .vefa-support-withdraw span { display: block; }.vefa-member-portal-support .vefa-support-withdraw strong { color: #37423a; font-size: 12px; }.vefa-member-portal-support .vefa-support-withdraw span { margin-top: 3px; color: #777b75; font-size: 11px; }.vefa-member-portal-support .vefa-support-withdraw button { min-height: 38px; padding: 0 12px; border: 1px solid #c96e61; border-radius: 9px; background: #fff; color: #9e3b31; font-size: 11px; font-weight: 800; cursor: pointer; }
.vefa-member-portal-support .vefa-support-form-card { scroll-margin-top: 20px; }.vefa-member-portal-support .vefa-support-form { display: grid; gap: 14px; margin-top: 18px; }.vefa-member-portal-support .vefa-support-form label > span { display: block; margin-bottom: 6px; color: #34433a; font-size: 11px; font-weight: 750; }.vefa-member-portal-support .vefa-support-form label > span b { color: #a84b39; }.vefa-member-portal-support .vefa-support-form input[type="text"], .vefa-member-portal-support .vefa-support-form select, .vefa-member-portal-support .vefa-support-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #dedbd2; border-radius: 10px; background: #fff; color: #26342b; font: inherit; font-size: 12px; line-height: 1.5; }.vefa-member-portal-support .vefa-support-form input[type="text"], .vefa-member-portal-support .vefa-support-form select { min-height: 42px; padding: 0 11px; }.vefa-member-portal-support .vefa-support-form textarea { min-height: 112px; padding: 10px 11px; resize: vertical; }.vefa-member-portal-support .vefa-support-form input:focus, .vefa-member-portal-support .vefa-support-form select:focus, .vefa-member-portal-support .vefa-support-form textarea:focus { border-color: #b48325; outline: 3px solid rgba(205,162,74,.18); }.vefa-member-portal-support .vefa-support-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.vefa-member-portal-support .vefa-support-check { display: flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid #dedbd2; border-radius: 10px; background: #fffdf9; }.vefa-member-portal-support .vefa-support-check input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--vefa-dashboard-forest); }.vefa-member-portal-support .vefa-support-check > span { margin: 0 !important; }.vefa-member-portal-support .vefa-support-check strong, .vefa-member-portal-support .vefa-support-check small { display: block; }.vefa-member-portal-support .vefa-support-check strong { color: #34433a; font-size: 11px; }.vefa-member-portal-support .vefa-support-check small { margin-top: 1px; color: #7a756c; font-size: 10px; font-weight: 500; }.vefa-member-portal-support .vefa-support-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }.vefa-member-portal-support .vefa-support-form__actions > span { color: #767a73; font-size: 11px; }
.vefa-member-portal-support .vefa-support-emergency { padding: 14px 16px; border: 1px solid #edc7c0; border-radius: 12px; background: #fff4f1; }.vefa-member-portal-support .vefa-support-emergency strong { color: #873c31; font-size: 12px; }.vefa-member-portal-support .vefa-support-emergency p { margin: 4px 0 0; color: #6b5b55; font-size: 11px; line-height: 1.5; }
@media (max-width: 760px) { .vefa-member-portal-support .vefa-support-centre-layout { padding-top: 0; }.vefa-member-portal-support .vefa-support-intro, .vefa-member-portal-support .vefa-support-withdraw { align-items: flex-start; flex-direction: column; }.vefa-member-portal-support .vefa-support-summary, .vefa-member-portal-support .vefa-support-form__grid { grid-template-columns: 1fr; }.vefa-member-portal-support .vefa-member-request-card { align-items: flex-start; flex-direction: column; }.vefa-member-portal-support .vefa-member-request-card__actions { justify-items: start; }.vefa-member-portal-support .vefa-support-detail__facts { grid-template-columns: 1fr; }.vefa-member-portal-support .vefa-support-list-card, .vefa-member-portal-support .vefa-support-detail, .vefa-member-portal-support .vefa-support-form-card { padding: 17px; } }

/* Portal header */
.vefa-portal-header {
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid var(--vefa-border);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(16px);
}

.vefa-portal-header__inner {
    width: min(calc(100% - 40px), var(--vefa-content));
    min-height: 82px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 170px 1fr auto;
    align-items: center;
    gap: 28px;
}

.vefa-portal-nav { display: flex; align-items: stretch; justify-content: center; gap: 5px; }
.vefa-portal-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 82px;
    padding: 0 12px;
    color: var(--vefa-muted);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}
.vefa-portal-nav a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.vefa-portal-nav a:hover, .vefa-portal-nav a.is-active { color: var(--vefa-green-900); }
.vefa-portal-nav a.is-active::after { background: var(--vefa-gold); }
.vefa-portal-nav svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.75; }

.vefa-user-area { display: flex; align-items: center; gap: 10px; }
.vefa-icon-button { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 12px; background: transparent; color: var(--vefa-green-900); cursor: pointer; }
.vefa-icon-button:hover { background: var(--vefa-green-100); }
.vefa-icon-button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vefa-notification-dot { position: absolute; top: 9px; right: 9px; width: 7px; height: 7px; border: 2px solid white; border-radius: 50%; background: var(--vefa-gold); }

.vefa-user-menu { position: relative; }
.vefa-user-menu__button { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; cursor: pointer; color: var(--vefa-ink); }
.vefa-user-menu__button > svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.vefa-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--vefa-peach); color: var(--vefa-green-900); font-weight: 900; }
.vefa-user-menu__text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.vefa-user-menu__text small { color: var(--vefa-muted); font-size: 11px; }
.vefa-user-menu__text strong { margin-top: 4px; font-size: 14px; }
.vefa-user-dropdown { position: absolute; top: calc(100% + 12px); right: 0; min-width: 190px; padding: 8px; border: 1px solid var(--vefa-border); border-radius: 14px; background: white; box-shadow: var(--vefa-shadow-soft); }
.vefa-user-dropdown a { display: block; padding: 10px 12px; border-radius: 9px; text-decoration: none; font-size: 14px; font-weight: 700; }
.vefa-user-dropdown a:hover { background: var(--vefa-green-100); }
.vefa-mobile-menu { display: none; }

/* Dashboard */
.vefa-dashboard-shell {
    width: min(calc(100% - 40px), var(--vefa-content));
    margin: 0 auto;
    padding: 48px 0 70px;
}

.vefa-dashboard-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
    padding: clamp(28px, 5vw, 52px);
    border-radius: var(--vefa-radius-xl);
    background:
        radial-gradient(circle at 88% 20%, rgba(205,162,74,.20), transparent 20%),
        linear-gradient(115deg, var(--vefa-green-950), var(--vefa-green-900));
    color: white;
    box-shadow: var(--vefa-shadow);
}
.vefa-dashboard-hero::after { content: "♡"; position: absolute; right: 42%; bottom: -54px; font-size: 150px; color: rgba(205,162,74,.12); transform: rotate(-14deg); }
.vefa-dashboard-hero .vefa-eyebrow { color: #e3bd6c; }
.vefa-dashboard-hero h1 { margin: 12px 0 10px; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.045em; }
.vefa-dashboard-hero__copy p { max-width: 720px; margin: 0; color: rgba(255,255,255,.74); font-size: 16px; }
.vefa-dashboard-hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 12px; }
.vefa-dashboard-hero__stats article { position: relative; min-width: 170px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.vefa-dashboard-hero__stats span { display: block; color: rgba(255,255,255,.72); font-size: 12px; }
.vefa-dashboard-hero__stats strong { display: block; margin-top: 6px; font-size: 30px; line-height: 1; }
.vefa-dashboard-hero__stats strong small { font-size: 14px; font-weight: 700; }
.vefa-dashboard-hero__stats i { position: absolute; top: 18px; right: 18px; font-style: normal; font-size: 22px; }
.vefa-ring { --size: 45px; position: absolute; top: 18px; right: 16px; width: var(--size); height: var(--size); border-radius: 50%; background: conic-gradient(var(--vefa-gold) calc(var(--progress) * 1%), rgba(255,255,255,.15) 0); }
.vefa-ring span { position: absolute; inset: 6px; border-radius: 50%; background: var(--vefa-green-900); }

.vefa-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.vefa-card {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    min-height: 230px;
    padding: 25px;
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-lg);
    background: var(--vefa-white);
    box-shadow: var(--vefa-shadow-soft);
}
.vefa-card--wide { grid-column: span 8; }
.vefa-card--compact { min-height: 220px; }
.vefa-card h2 { margin: 18px 0 8px; color: var(--vefa-green-900); font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }
.vefa-card p { margin: 0; color: var(--vefa-muted); font-size: 14px; }
.vefa-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.vefa-card__icon { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; }
.vefa-card__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vefa-card__icon--green { color: var(--vefa-green-700); background: var(--vefa-green-100); }
.vefa-card__icon--gold { color: var(--vefa-gold-dark); background: var(--vefa-gold-soft); }
.vefa-card__icon--peach { color: #b05d45; background: var(--vefa-peach); }
.vefa-card__tag { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; background: var(--vefa-cream-2); color: var(--vefa-muted); font-size: 11px; font-weight: 800; }
.vefa-card__tag--light { color: var(--vefa-green-900); background: rgba(255,255,255,.82); }
.vefa-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 22px; }
.vefa-card__footer small { color: var(--vefa-muted); }
.vefa-progress { height: 9px; margin-top: 24px; overflow: hidden; border-radius: 999px; background: var(--vefa-cream-2); }
.vefa-progress span { display: block; height: 100%; border-radius: inherit; background: var(--vefa-gold); }

.vefa-mood-row { display: flex; gap: 10px; margin: 20px 0; }
.vefa-mood-row button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--vefa-border); border-radius: 14px; background: var(--vefa-cream); font-size: 22px; cursor: pointer; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.vefa-mood-row button:hover { transform: translateY(-2px); }
.vefa-mood-row button.is-selected { border-color: var(--vefa-gold); background: var(--vefa-gold-soft); box-shadow: 0 0 0 3px rgba(205,162,74,.12); }
.vefa-card--checkin .vefa-button { margin-top: auto; align-self: flex-start; }
.vefa-card--activity .vefa-button, .vefa-card--brain .vefa-button { margin-top: auto; align-self: flex-start; }
.vefa-card--compact > .vefa-card__icon { margin-bottom: 2px; }
.vefa-card--compact p strong { color: var(--vefa-green-900); font-size: 24px; }
.vefa-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 16px 0 0; border: 0; background: transparent; color: var(--vefa-green-700); font-weight: 850; cursor: pointer; }
.vefa-text-link span { font-size: 18px; }

.vefa-card--event { min-height: 170px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; }
.vefa-card--event h2 { margin: 0 0 5px; }
.vefa-card--event .vefa-card__tag { margin-left: 10px; }
.vefa-event-details p { font-size: 13px; }
.vefa-card--assistant { grid-column: span 8; min-height: 210px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; background: linear-gradient(120deg, var(--vefa-green-950), var(--vefa-green-800)); color: white; }
.vefa-card--assistant h2 { color: white; margin-top: 8px; }
.vefa-card--assistant p { color: rgba(255,255,255,.70); }
.vefa-assistant-orb { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 22px; background: radial-gradient(circle at 30% 30%, #f1d18b, var(--vefa-gold)); color: var(--vefa-green-950); font-size: 32px; box-shadow: 0 14px 30px rgba(0,0,0,.18); }

.vefa-portal-footer { padding: 30px 20px 46px; color: var(--vefa-muted); text-align: center; font-size: 13px; }
.vefa-toast { position: fixed; right: 24px; bottom: 24px; z-index: 80; display: grid; gap: 3px; max-width: 360px; padding: 15px 18px; border-radius: 15px; background: var(--vefa-green-950); color: white; box-shadow: var(--vefa-shadow); opacity: 0; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; }
.vefa-toast.is-visible { opacity: 1; transform: translateY(0); }
.vefa-toast strong { color: #f0cc7a; font-size: 14px; }
.vefa-toast span { color: rgba(255,255,255,.72); font-size: 12px; }

@media (max-width: 1080px) {
    .vefa-portal-header__inner { grid-template-columns: 145px 1fr auto; gap: 14px; }
    .vefa-portal-nav a { padding: 0 8px; font-size: 12px; }
    .vefa-portal-nav svg { display: none; }
    .vefa-dashboard-hero { grid-template-columns: 1fr; }
    .vefa-dashboard-hero__stats { width: min(100%, 420px); }
    .vefa-card, .vefa-card--wide, .vefa-card--assistant { grid-column: span 6; }
    .vefa-card--event, .vefa-card--assistant { display: flex; align-items: flex-start; }
}

@media (max-width: 820px) {
    .vefa-login-shell { grid-template-columns: 1fr; }
    .vefa-login-story { min-height: 430px; padding: 44px 28px; }
    .vefa-login-story h1 { font-size: clamp(38px, 11vw, 60px); }
    .vefa-login-main { padding: 24px 18px 40px; }
    .vefa-login-card { margin-top: -42px; position: relative; z-index: 4; }

    .vefa-portal-header__inner { width: min(calc(100% - 28px), var(--vefa-content)); grid-template-columns: 1fr auto auto; min-height: 72px; }
    .vefa-brand__logo { height: 44px; }
    .vefa-mobile-menu { display: grid; place-items: center; gap: 4px; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--vefa-border); border-radius: 12px; background: white; cursor: pointer; }
    .vefa-mobile-menu span:not(.screen-reader-text) { width: 18px; height: 2px; border-radius: 2px; background: var(--vefa-green-900); }
    .vefa-portal-nav { position: absolute; left: 14px; right: 14px; top: calc(100% + 8px); display: none; flex-direction: column; align-items: stretch; padding: 10px; border: 1px solid var(--vefa-border); border-radius: 18px; background: white; box-shadow: var(--vefa-shadow); }
    .vefa-portal-nav.is-open { display: flex; }
    .vefa-portal-nav a { min-height: 48px; padding: 0 14px; border-radius: 11px; font-size: 14px; }
    .vefa-portal-nav a:hover, .vefa-portal-nav a.is-active { background: var(--vefa-green-100); }
    .vefa-portal-nav a::after { display: none; }
    .vefa-portal-nav svg { display: block; }
    .vefa-user-menu__text, .vefa-user-menu__button > svg, .vefa-icon-button { display: none; }
    .vefa-avatar { width: 40px; height: 40px; }
    .vefa-user-dropdown { right: -4px; }

    .vefa-dashboard-shell { width: min(calc(100% - 28px), var(--vefa-content)); padding-top: 24px; }
    .vefa-dashboard-hero { padding: 28px; }
    .vefa-dashboard-hero__stats { grid-template-columns: 1fr 1fr; width: 100%; }
    .vefa-dashboard-hero__stats article { min-width: 0; }
    .vefa-dashboard-grid { gap: 16px; }
    .vefa-card, .vefa-card--wide, .vefa-card--assistant { grid-column: span 12; }
    .vefa-card--event, .vefa-card--assistant { min-height: 0; }
}

@media (max-width: 560px) {
    .vefa-login-story { min-height: 390px; }
    .vefa-login-story p { font-size: 16px; }
    .vefa-story-points span:nth-child(3) { display: none; }
    .vefa-login-card { padding: 28px 22px; border-radius: 22px; }
    .vefa-brand--login { margin-bottom: 28px; }
    .vefa-form-row { align-items: flex-start; flex-direction: column; gap: 12px; }
    .vefa-login-signup__actions { grid-template-columns: 1fr; }

    .vefa-dashboard-hero__stats { grid-template-columns: 1fr; }
    .vefa-dashboard-hero__stats article { min-height: 88px; }
    .vefa-card { padding: 22px; }
    .vefa-card__footer { align-items: flex-start; flex-direction: column; }
    .vefa-card__footer .vefa-button { width: 100%; }
    .vefa-card--event, .vefa-card--assistant { gap: 18px; }
    .vefa-card--event .vefa-button, .vefa-card--assistant .vefa-button { width: 100%; }
    .vefa-mood-row { justify-content: space-between; }
    .vefa-mood-row button { width: 44px; height: 44px; }
    .vefa-toast { left: 14px; right: 14px; bottom: 14px; }
}

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

/* Version 2: shared inner pages */
body.vefa-member-portal-page select,
body.vefa-member-portal-page textarea { font: inherit; }

.vefa-button,
.vefa-text-link { text-decoration: none; }

.vefa-page-shell {
    width: min(calc(100% - 40px), var(--vefa-content));
    margin: 0 auto;
    padding: 44px 0 72px;
}

.vefa-page-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 28px;
    padding: clamp(28px, 4vw, 44px);
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-xl);
    background:
        radial-gradient(circle at 92% 15%, rgba(205,162,74,.16), transparent 22%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,242,231,.96));
    box-shadow: var(--vefa-shadow-soft);
}

.vefa-page-hero h1 {
    margin: 10px 0 8px;
    color: var(--vefa-green-900);
    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.vefa-page-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--vefa-muted);
    font-size: 16px;
}

.vefa-page-hero__action { flex: 0 0 auto; }

.vefa-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.vefa-summary-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.vefa-summary-card {
    min-height: 150px;
    padding: 24px;
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-lg);
    background: white;
    box-shadow: var(--vefa-shadow-soft);
}

.vefa-summary-card > span {
    display: block;
    color: var(--vefa-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vefa-summary-card strong {
    display: block;
    margin-top: 10px;
    color: var(--vefa-green-900);
    font-size: 32px;
    line-height: 1;
}

.vefa-summary-card small { display: block; margin-top: 12px; color: var(--vefa-muted); }
.vefa-mini-progress { height: 7px; margin-top: 22px; overflow: hidden; border-radius: 999px; background: var(--vefa-cream-2); }
.vefa-mini-progress i { display: block; height: 100%; border-radius: inherit; background: var(--vefa-gold); }

.vefa-section-block {
    margin-top: 24px;
    padding: 28px;
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-xl);
    background: white;
    box-shadow: var(--vefa-shadow-soft);
}

.vefa-section-block--flat { margin-top: 0; }

.vefa-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.vefa-section-heading h2 {
    margin: 7px 0 0;
    color: var(--vefa-green-900);
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.vefa-section-heading p { margin: 8px 0 0; color: var(--vefa-muted); }

.vefa-filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.vefa-filter-pills button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--vefa-border);
    border-radius: 999px;
    background: white;
    color: var(--vefa-muted);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.vefa-filter-pills button.is-active { border-color: var(--vefa-green-900); background: var(--vefa-green-900); color: white; }

.vefa-feature-panel {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    gap: 30px;
    align-items: stretch;
    padding: 26px;
    border-radius: var(--vefa-radius-xl);
    background: linear-gradient(125deg, var(--vefa-green-950), var(--vefa-green-800));
    color: white;
    box-shadow: var(--vefa-shadow);
}

.vefa-feature-panel__media {
    display: grid;
    min-height: 300px;
    place-items: center;
    border-radius: 22px;
    background:
        linear-gradient(rgba(5,47,41,.18), rgba(5,47,41,.58)),
        radial-gradient(circle at 70% 35%, rgba(205,162,74,.45), transparent 20%),
        linear-gradient(145deg, #9fb8a9, #d8c49a);
}

.vefa-feature-panel__media span {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    padding-left: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--vefa-green-900);
    font-size: 27px;
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.vefa-feature-panel__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 18px 18px 18px 0; }
.vefa-feature-panel__content h2 { margin: 16px 0 10px; color: white; font-size: clamp(28px, 4vw, 42px); line-height: 1.08; }
.vefa-feature-panel__content p { margin: 0; color: rgba(255,255,255,.74); }
.vefa-feature-panel__content .vefa-progress { width: 100%; background: rgba(255,255,255,.14); }
.vefa-feature-panel__content .vefa-button { margin-top: 20px; }

.vefa-inline-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 10px; color: inherit; opacity: .72; font-size: 13px; }

.vefa-module-list { display: grid; gap: 12px; }
.vefa-module-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--vefa-border);
    border-radius: 18px;
    background: var(--vefa-cream);
}
.vefa-module-thumb { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 18px; color: white; font-size: 20px; font-weight: 900; }
.vefa-module-thumb--green { background: var(--vefa-green-800); }
.vefa-module-thumb--gold { background: var(--vefa-gold); color: #2f2818; }
.vefa-module-thumb--peach { background: #ce8067; }
.vefa-module-row h3 { margin: 5px 0 4px; color: var(--vefa-green-900); font-size: 18px; }
.vefa-module-row p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-module-row__meta { display: grid; justify-items: end; gap: 5px; }
.vefa-module-row__meta strong { color: var(--vefa-green-900); }
.vefa-module-row__meta small { color: var(--vefa-muted); }
.vefa-module-row__meta button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 12px; background: white; color: var(--vefa-green-900); cursor: pointer; }

.vefa-status {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border-radius: 999px;
    background: var(--vefa-cream-2);
    color: var(--vefa-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.vefa-status--progress { background: var(--vefa-gold-soft); color: var(--vefa-gold-dark); }
.vefa-status--complete { background: var(--vefa-green-100); color: var(--vefa-green-700); }

.vefa-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    padding: 22px 26px;
    border: 1px solid rgba(205,162,74,.30);
    border-radius: 20px;
    background: var(--vefa-gold-soft);
}
.vefa-callout strong { color: var(--vefa-green-900); }
.vefa-callout p { margin: 5px 0 0; color: var(--vefa-muted); }
.vefa-callout > span { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: white; color: var(--vefa-green-900); font-weight: 900; }

.vefa-daily-challenge {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: clamp(28px, 5vw, 48px);
    border-radius: var(--vefa-radius-xl);
    background: linear-gradient(125deg, var(--vefa-green-950), var(--vefa-green-800));
    color: white;
    box-shadow: var(--vefa-shadow);
}
.vefa-daily-challenge h2 { margin: 15px 0 10px; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; }
.vefa-daily-challenge p { max-width: 730px; margin: 0 0 22px; color: rgba(255,255,255,.74); }
.vefa-breath-orb { display: grid; place-items: center; align-content: center; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle, #f5d792 0 45%, rgba(205,162,74,.22) 46% 60%, rgba(255,255,255,.06) 61%); color: var(--vefa-green-950); }
.vefa-breath-orb span { font-size: 48px; font-weight: 900; line-height: 1; }
.vefa-breath-orb small { font-weight: 900; }

.vefa-activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vefa-activity-grid article {
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 22px;
    border: 1px solid var(--vefa-border);
    border-radius: 20px;
    background: var(--vefa-cream);
}
.vefa-activity-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--vefa-green-100); color: var(--vefa-green-700); font-size: 22px; font-weight: 900; }
.vefa-activity-grid h3 { margin: 18px 0 6px; color: var(--vefa-green-900); }
.vefa-activity-grid p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-activity-grid button { align-self: flex-start; margin-top: auto; padding: 16px 0 0; border: 0; background: transparent; color: var(--vefa-green-700); font-weight: 900; cursor: pointer; }
.vefa-brain-section { background: linear-gradient(145deg, #fff, #fbf0e9); }
.vefa-brain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vefa-brain-grid button { display: grid; justify-items: start; min-height: 145px; padding: 20px; border: 1px solid var(--vefa-border); border-radius: 18px; background: white; color: var(--vefa-ink); cursor: pointer; text-align: left; }
.vefa-brain-grid button span { color: var(--vefa-gold-dark); font-size: 24px; font-weight: 900; }
.vefa-brain-grid button strong { margin-top: 16px; color: var(--vefa-green-900); }
.vefa-brain-grid button small { margin-top: 5px; color: var(--vefa-muted); }

.vefa-two-column { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 24px; align-items: start; }
.vefa-two-column--journal { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); }
.vefa-two-column--journey { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
.vefa-two-column--resources { grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); }
.vefa-two-column--profile { grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); }
.vefa-side-stack { display: grid; gap: 18px; }

.vefa-form-card,
.vefa-timeline-card,
.vefa-profile-card,
.vefa-badge-card,
.vefa-support-card,
.vefa-suggestion-card,
.vefa-prompt-card,
.vefa-privacy-card {
    padding: 28px;
    border: 1px solid var(--vefa-border);
    border-radius: var(--vefa-radius-xl);
    background: white;
    box-shadow: var(--vefa-shadow-soft);
}

.vefa-form-card h2,
.vefa-timeline-card h2,
.vefa-profile-card h2,
.vefa-badge-card h2,
.vefa-support-card h2,
.vefa-suggestion-card h2 { margin: 14px 0 8px; color: var(--vefa-green-900); }
.vefa-form-card > p,
.vefa-support-card p,
.vefa-suggestion-card p { color: var(--vefa-muted); }
.vefa-form-card form { display: grid; gap: 18px; margin-top: 22px; }
.vefa-field select,
.vefa-field textarea { width: 100%; border: 1px solid rgba(8,59,50,.14); border-radius: 14px; background: white; color: var(--vefa-ink); outline: none; }
.vefa-field select { height: 52px; padding: 0 14px; }
.vefa-field textarea { padding: 15px; resize: vertical; }
.vefa-field select:focus,
.vefa-field textarea:focus { border-color: var(--vefa-gold); box-shadow: 0 0 0 4px rgba(205,162,74,.15); }
.vefa-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vefa-privacy-card { display: flex; gap: 16px; align-items: flex-start; background: var(--vefa-green-100); }
.vefa-privacy-card > span { font-size: 24px; }
.vefa-privacy-card h3 { margin: 0 0 5px; color: var(--vefa-green-900); }
.vefa-privacy-card p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-prompt-card blockquote { margin: 18px 0 0; color: var(--vefa-green-900); font-family: Georgia, serif; font-size: 23px; line-height: 1.35; }

.vefa-entry-list { display: grid; gap: 12px; }
.vefa-entry-list article { display: flex; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid var(--vefa-border); border-radius: 18px; background: var(--vefa-cream); }
.vefa-entry-list time { color: var(--vefa-gold-dark); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.vefa-entry-list h3 { margin: 6px 0 5px; color: var(--vefa-green-900); }
.vefa-entry-list p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-entry-list button { flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 12px; background: white; color: var(--vefa-green-900); cursor: pointer; }

.vefa-goal-list { display: grid; gap: 14px; }
.vefa-goal-list article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px; border: 1px solid var(--vefa-border); border-radius: 20px; background: var(--vefa-cream); }
.vefa-goal-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: white; color: var(--vefa-green-700); font-size: 26px; }
.vefa-goal-body h3 { margin: 8px 0 4px; color: var(--vefa-green-900); }
.vefa-goal-body p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-goal-body .vefa-progress { margin-top: 14px; }
.vefa-goal-list article > strong { color: var(--vefa-green-900); }
.vefa-check-list { display: grid; gap: 12px; }
.vefa-check-list > div { display: flex; gap: 12px; align-items: center; padding: 15px; border-radius: 15px; background: var(--vefa-green-100); }
.vefa-check-list > div > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--vefa-green-700); color: white; font-weight: 900; }
.vefa-check-list strong,
.vefa-check-list small { display: block; }
.vefa-check-list small { margin-top: 2px; color: var(--vefa-muted); }
.vefa-suggestion-card { background: linear-gradient(145deg, var(--vefa-gold-soft), #fff); }
.vefa-suggestion-card > span { font-size: 32px; color: var(--vefa-gold-dark); }
.vefa-suggestion-card .vefa-button { margin-top: 10px; }

.vefa-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.vefa-timeline::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 18px; width: 2px; background: var(--vefa-green-100); }
.vefa-timeline li { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 15px 0; }
.vefa-timeline li > span { z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--vefa-green-700); color: white; font-weight: 900; }
.vefa-timeline strong,
.vefa-timeline small { display: block; }
.vefa-timeline strong { color: var(--vefa-green-900); }
.vefa-timeline small { margin-top: 4px; color: var(--vefa-muted); }
.vefa-badge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.vefa-badge-grid > div { display: grid; justify-items: center; gap: 8px; padding: 18px 10px; border-radius: 16px; background: var(--vefa-cream); text-align: center; }
.vefa-badge-grid span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--vefa-gold-soft); color: var(--vefa-gold-dark); font-size: 22px; }
.vefa-badge-grid strong { color: var(--vefa-green-900); font-size: 12px; }

.vefa-event-grid { display: grid; gap: 16px; }
.vefa-event-card { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 22px; border: 1px solid var(--vefa-border); border-radius: 20px; background: var(--vefa-cream); }
.vefa-event-card__date { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 20px; background: var(--vefa-green-900); color: white; }
.vefa-event-card__date strong { font-size: 28px; line-height: 1; }
.vefa-event-card__date span { color: #e5c275; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.vefa-event-card__body h3 { margin: 8px 0 5px; color: var(--vefa-green-900); font-size: 20px; }
.vefa-event-card__body p { margin: 0; color: var(--vefa-muted); font-size: 13px; }

.vefa-resource-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.vefa-resource-categories article { min-height: 190px; padding: 22px; border: 1px solid var(--vefa-border); border-radius: 20px; background: white; box-shadow: var(--vefa-shadow-soft); }
.vefa-resource-categories article > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--vefa-green-100); color: var(--vefa-green-700); font-size: 23px; }
.vefa-resource-categories h3 { margin: 18px 0 6px; color: var(--vefa-green-900); }
.vefa-resource-categories p { margin: 0; color: var(--vefa-muted); font-size: 13px; }
.vefa-resource-list { display: grid; gap: 10px; }
.vefa-resource-list button,
.vefa-settings-list a,
.vefa-settings-list button { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; width: 100%; padding: 15px; border: 1px solid var(--vefa-border); border-radius: 15px; background: var(--vefa-cream); color: var(--vefa-ink); text-align: left; text-decoration: none; cursor: pointer; }
.vefa-file-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--vefa-peach); color: #a84f37; font-size: 10px; font-weight: 900; }
.vefa-resource-list strong,
.vefa-resource-list small,
.vefa-settings-list strong,
.vefa-settings-list small { display: block; }
.vefa-resource-list strong,
.vefa-settings-list strong { color: var(--vefa-green-900); }
.vefa-resource-list small,
.vefa-settings-list small { margin-top: 3px; color: var(--vefa-muted); }
.vefa-resource-list i,
.vefa-settings-list i { color: var(--vefa-green-900); font-style: normal; }
.vefa-support-card .vefa-button { margin-top: 10px; }
.vefa-emergency-note { padding: 18px; border: 1px solid rgba(176,93,69,.22); border-radius: 18px; background: #fff2ee; }
.vefa-emergency-note strong { color: #8a3e2c; }
.vefa-emergency-note p { margin: 6px 0 0; color: var(--vefa-muted); font-size: 13px; }

.vefa-assistant-layout { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: 24px; }
.vefa-assistant-info,
.vefa-chat-card { border: 1px solid var(--vefa-border); border-radius: var(--vefa-radius-xl); background: white; box-shadow: var(--vefa-shadow-soft); }
.vefa-assistant-info { padding: 30px; }
.vefa-assistant-info h2 { margin: 16px 0 8px; color: var(--vefa-green-900); }
.vefa-assistant-info > p { color: var(--vefa-muted); }
.vefa-assistant-info ul { margin: 20px 0; padding-left: 20px; color: var(--vefa-green-900); }
.vefa-assistant-orb--large { width: 86px; height: 86px; margin-bottom: 18px; font-size: 38px; }
.vefa-chat-card { overflow: hidden; display: grid; grid-template-rows: auto minmax(420px, 1fr) auto; }
.vefa-chat-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--vefa-border); }
.vefa-chat-card > header > div { display: flex; align-items: center; gap: 12px; }
.vefa-chat-card > header strong,
.vefa-chat-card > header small { display: block; }
.vefa-chat-card > header small { color: var(--vefa-muted); }
.vefa-chat-thread { display: flex; flex-direction: column; justify-content: flex-end; gap: 16px; padding: 24px; background: linear-gradient(#fff, var(--vefa-cream)); }
.vefa-chat-message { max-width: 78%; padding: 15px 17px; border-radius: 18px 18px 18px 5px; background: white; box-shadow: var(--vefa-shadow-soft); }
.vefa-chat-message p { margin: 0; color: var(--vefa-ink); }
.vefa-quick-prompts { display: flex; flex-wrap: wrap; gap: 9px; }
.vefa-quick-prompts button { padding: 10px 12px; border: 1px solid var(--vefa-border); border-radius: 999px; background: white; color: var(--vefa-green-700); font-size: 12px; font-weight: 800; cursor: pointer; }
.vefa-chat-composer { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 16px; border-top: 1px solid var(--vefa-border); background: white; }
.vefa-chat-composer input { min-height: 50px; padding: 0 16px; border: 1px solid var(--vefa-border); border-radius: 14px; outline: none; }
.vefa-chat-composer input:focus { border-color: var(--vefa-gold); box-shadow: 0 0 0 4px rgba(205,162,74,.15); }
.vefa-chat-composer button { width: 50px; border: 0; border-radius: 14px; background: var(--vefa-green-900); color: white; font-size: 22px; cursor: pointer; }

.vefa-profile-card__head { display: flex; align-items: center; gap: 18px; padding-bottom: 24px; border-bottom: 1px solid var(--vefa-border); }
.vefa-profile-avatar { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: linear-gradient(145deg, var(--vefa-peach), var(--vefa-gold-soft)); color: var(--vefa-green-900); font-size: 32px; font-weight: 900; }
.vefa-profile-card__head h2 { margin: 0; }
.vefa-profile-card__head p { margin: 4px 0 0; color: var(--vefa-muted); }
.vefa-profile-details { display: grid; gap: 0; margin: 20px 0 0; }
.vefa-profile-details > div { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--vefa-border); }
.vefa-profile-details dt { color: var(--vefa-muted); font-size: 13px; }
.vefa-profile-details dd { margin: 0; color: var(--vefa-green-900); font-weight: 800; word-break: break-word; }
.vefa-settings-list { display: grid; gap: 10px; }
.vefa-settings-list > * > span { font-size: 20px; }
.vefa-toggle-list { display: grid; gap: 2px; }
.vefa-toggle-list label { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--vefa-border); }
.vefa-toggle-list strong,
.vefa-toggle-list small { display: block; }
.vefa-toggle-list small { margin-top: 3px; color: var(--vefa-muted); }
.vefa-toggle-list input { width: 44px; height: 24px; accent-color: var(--vefa-green-700); }

@media (max-width: 1080px) {
    .vefa-summary-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vefa-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vefa-brain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vefa-resource-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vefa-two-column,
    .vefa-two-column--journal,
    .vefa-two-column--journey,
    .vefa-two-column--resources,
    .vefa-two-column--profile,
    .vefa-assistant-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .vefa-page-shell { width: min(calc(100% - 28px), var(--vefa-content)); padding-top: 24px; }
    .vefa-page-hero { align-items: flex-start; flex-direction: column; }
    .vefa-page-hero__action,
    .vefa-page-hero__action .vefa-button { width: 100%; }
    .vefa-summary-grid { grid-template-columns: 1fr; }
    .vefa-feature-panel { grid-template-columns: 1fr; }
    .vefa-feature-panel__media { min-height: 240px; }
    .vefa-feature-panel__content { padding: 0 4px 6px; }
    .vefa-daily-challenge { grid-template-columns: 1fr; }
    .vefa-breath-orb { width: 135px; height: 135px; }
    .vefa-event-card { grid-template-columns: 72px minmax(0, 1fr); }
    .vefa-event-card__date { width: 72px; height: 72px; }
    .vefa-event-card > .vefa-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 620px) {
    .vefa-section-block,
    .vefa-form-card,
    .vefa-timeline-card,
    .vefa-profile-card,
    .vefa-badge-card,
    .vefa-support-card,
    .vefa-suggestion-card,
    .vefa-prompt-card,
    .vefa-privacy-card { padding: 21px; }
    .vefa-section-heading { align-items: flex-start; flex-direction: column; }
    .vefa-filter-pills { width: 100%; }
    .vefa-filter-pills button { flex: 1 1 auto; }
    .vefa-module-row { grid-template-columns: 58px 1fr; }
    .vefa-module-thumb { width: 58px; height: 58px; border-radius: 15px; }
    .vefa-module-row__meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; }
    .vefa-activity-grid,
    .vefa-brain-grid,
    .vefa-resource-categories,
    .vefa-summary-grid--four { grid-template-columns: 1fr; }
    .vefa-goal-list article { grid-template-columns: auto 1fr; }
    .vefa-goal-list article > strong { grid-column: 2; }
    .vefa-event-card { grid-template-columns: 1fr; }
    .vefa-event-card__date { width: 100%; height: 70px; grid-auto-flow: column; justify-content: center; gap: 8px; }
    .vefa-profile-details > div { grid-template-columns: 1fr; gap: 5px; }
    .vefa-chat-card { grid-template-rows: auto minmax(360px, 1fr) auto; }
    .vefa-chat-message { max-width: 92%; }
    .vefa-callout { align-items: flex-start; }
}

/* Version 3: role-based support platform */
.vefa-role-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#f3ead8;color:#184b3a;font-size:12px;font-weight:700;white-space:nowrap}.vefa-support-layout,.vefa-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.vefa-stack-form{display:grid;gap:16px;margin-top:20px}.vefa-stack-form label,.vefa-reply-form label{display:grid;gap:7px;font-weight:650;color:#163c31}.vefa-stack-form input,.vefa-stack-form select,.vefa-stack-form textarea,.vefa-reply-form textarea{width:100%;box-sizing:border-box;border:1px solid #ded8cd;border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:#26352f}.vefa-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vefa-case-list{display:grid;gap:10px}.vefa-case-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e7e0d5;border-radius:15px;background:#fff;text-decoration:none;color:inherit}.vefa-case-row>a{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;text-decoration:none;color:inherit}.vefa-case-row div{display:grid;gap:4px}.vefa-case-row span{font-size:13px;color:#6b746f}.vefa-status{display:inline-flex!important;width:max-content;padding:6px 9px;border-radius:999px;font-size:11px!important;font-weight:750;white-space:nowrap}.vefa-status--waiting{background:#fff1ce;color:#785600!important}.vefa-status--in_progress{background:#dff0e8;color:#14513d!important}.vefa-status--follow_up{background:#f3e5fa;color:#603372!important}.vefa-status--closed{background:#ececeb;color:#555!important}.vefa-alert--success{background:#e3f3ea;color:#14513d;border:1px solid #b9dec9;margin-bottom:20px}.vefa-conversation{margin-top:24px}.vefa-message-thread{display:grid;gap:12px;max-height:520px;overflow:auto;padding:6px}.vefa-message{max-width:76%;padding:13px 15px;border-radius:16px 16px 16px 4px;background:#f5f1e9}.vefa-message.is-mine{margin-left:auto;background:#dfeee7;border-radius:16px 16px 4px 16px}.vefa-message.is-internal{background:#fff1ce;border:1px dashed #d2a844}.vefa-message strong,.vefa-message time{display:block;font-size:12px}.vefa-message p{margin:6px 0}.vefa-message time{color:#778079}.vefa-reply-form{display:grid;gap:12px;margin-top:18px}.vefa-emergency-note,.vefa-callout{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:#fff4e9;border:1px solid #edcba7;margin-top:24px}.vefa-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.vefa-metric{padding:20px;border-radius:18px;background:#fff;border:1px solid #e7e0d5}.vefa-metric span{display:block;color:#6f766f;font-size:13px}.vefa-metric strong{display:block;margin-top:8px;font-size:30px;color:#174c3a}.vefa-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vefa-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vefa-quick-grid>div,.vefa-quick-grid>a{display:grid;gap:6px;padding:16px;border:1px solid #e7e0d5;border-radius:15px;text-decoration:none;color:inherit}.vefa-quick-grid span{font-size:13px;color:#6d746f}.vefa-case-workspace{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:24px}.vefa-case-summary dl{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:18px 0}.vefa-case-summary dt{font-size:12px;color:#7b817d}.vefa-case-summary dd{margin:0;font-weight:650}.vefa-people-list{display:grid;gap:10px}.vefa-people-list article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e7e0d5;border-radius:14px}.vefa-people-list article div{display:grid}.vefa-people-list span{font-size:13px;color:#6f766f}.vefa-count{font-size:13px;padding:4px 8px;border-radius:999px;background:#f3ead8}.vefa-empty{padding:24px;text-align:center;color:#737a76;border:1px dashed #d8d2c8;border-radius:14px}
@media(max-width:900px){.vefa-support-layout,.vefa-two-column,.vefa-case-workspace{grid-template-columns:1fr}.vefa-metric-grid{grid-template-columns:1fr 1fr}.vefa-role-pill{display:none}}
@media(max-width:600px){.vefa-form-grid,.vefa-quick-grid,.vefa-metric-grid{grid-template-columns:1fr}.vefa-case-row,.vefa-case-row>a{align-items:flex-start;flex-direction:column}.vefa-message{max-width:90%}.vefa-emergency-note,.vefa-callout{flex-direction:column}}

/* =========================================================
   VEFA Support Portal v3.1 — Volunteer & Admin Workspaces
   ========================================================= */
body.vefa-role-admin,
body.vefa-role-volunteer { background: #f4f1e9; }

.vefa-portal-header--workspace {
    position: sticky;
    top: 0;
    z-index: 80;
    border-bottom: 1px solid rgba(8,59,50,.09);
    box-shadow: 0 5px 24px rgba(23,38,33,.05);
}
.vefa-workspace-context { display:flex; align-items:center; gap:12px; margin-right:auto; margin-left:22px; padding-left:22px; border-left:1px solid var(--vefa-border); }
.vefa-workspace-context__dot { width:10px; height:10px; border-radius:999px; background:var(--vefa-gold); box-shadow:0 0 0 5px rgba(205,162,74,.14); }
.vefa-workspace-context div { display:grid; line-height:1.15; }
.vefa-workspace-context small { color:var(--vefa-muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.vefa-workspace-context strong { margin-top:5px; color:var(--vefa-green-900); font-size:14px; }

.vefa-workspace-shell { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:calc(100vh - 82px); }
.vefa-workspace-main { min-width:0; }
.vefa-role-sidebar {
    position:sticky;
    top:82px;
    height:calc(100vh - 82px);
    overflow:auto;
    padding:24px 18px;
    background:var(--vefa-green-950);
    color:#fff;
    border-right:1px solid rgba(255,255,255,.05);
}
.vefa-sidebar-intro { display:flex; align-items:center; gap:12px; margin-bottom:26px; padding:14px; border-radius:16px; background:rgba(255,255,255,.07); }
.vefa-sidebar-intro__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:rgba(205,162,74,.16); color:#e9c878; }
.vefa-sidebar-intro__icon svg,.vefa-sidebar-icon svg,.vefa-command-metric__icon svg,.vefa-admin-action-grid svg,.vefa-resource-banner svg,.vefa-safety-strip svg,.vefa-demo-feature-grid svg,.vefa-demo-credentials svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.vefa-sidebar-intro div { display:grid; }
.vefa-sidebar-intro small { color:rgba(255,255,255,.55); font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.vefa-sidebar-intro strong { margin-top:3px; font-size:13px; }
.vefa-sidebar-section { margin-top:22px; }
.vefa-sidebar-label { display:block; padding:0 12px 8px; color:rgba(255,255,255,.43); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.vefa-sidebar-section nav { display:grid; gap:4px; }
.vefa-sidebar-section a { display:flex; align-items:center; gap:11px; min-height:44px; padding:9px 11px; border-radius:12px; color:rgba(255,255,255,.72); text-decoration:none; font-size:13px; font-weight:750; transition:.18s ease; }
.vefa-sidebar-section a:hover { background:rgba(255,255,255,.07); color:#fff; transform:translateX(2px); }
.vefa-sidebar-section a.is-active { background:#fff; color:var(--vefa-green-900); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.vefa-sidebar-icon { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; }
.vefa-sidebar-icon svg { width:18px; height:18px; }
.vefa-sidebar-help { display:grid; gap:7px; margin-top:28px; padding:16px; border:1px solid rgba(205,162,74,.25); border-radius:16px; background:rgba(205,162,74,.09); }
.vefa-sidebar-help strong { color:#f4d791; font-size:13px; }
.vefa-sidebar-help span { color:rgba(255,255,255,.62); font-size:11px; line-height:1.5; }
.vefa-sidebar-help a { color:#fff; font-size:11px; font-weight:800; }

.vefa-page-shell--workspace { width:min(calc(100% - 48px), 1460px); padding:30px 0 60px; }
.vefa-page-hero--workspace { margin-bottom:24px; padding:0; border:0; background:transparent; box-shadow:none; }
.vefa-page-hero--workspace h1 { margin-top:8px; font-size:clamp(28px,3vw,42px); }
.vefa-page-hero--workspace p { max-width:760px; }
.vefa-page-hero__action { align-self:center; }

.vefa-panel { padding:22px; border:1px solid rgba(8,59,50,.09); border-radius:22px; background:#fff; box-shadow:0 10px 32px rgba(33,48,42,.055); }
.vefa-panel--priority { border-top:4px solid var(--vefa-gold); }
.vefa-panel--today { background:linear-gradient(180deg,#fff 0%,#fbf8f1 100%); }
.vefa-panel--briefing { background:var(--vefa-green-950); color:#fff; }
.vefa-panel--briefing .vefa-panel-kicker,.vefa-panel--briefing .vefa-panel-head a { color:#e7c56f; }
.vefa-panel--briefing h2 { color:#fff; }
.vefa-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.vefa-panel-head h2 { margin:3px 0 0; color:var(--vefa-green-950); font-size:20px; line-height:1.25; }
.vefa-panel-head a { margin-top:5px; color:var(--vefa-green-700); font-size:12px; font-weight:850; text-decoration:none; white-space:nowrap; }
.vefa-panel-kicker { display:block; color:var(--vefa-gold-dark); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.vefa-count-badge { display:inline-flex; align-items:center; min-height:29px; padding:5px 10px; border-radius:999px; background:var(--vefa-green-100); color:var(--vefa-green-800); font-size:11px; font-weight:800; }

.vefa-command-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.vefa-command-metric { display:flex; align-items:center; gap:14px; min-height:112px; padding:18px; border:1px solid rgba(8,59,50,.09); border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(33,48,42,.045); text-decoration:none; transition:.18s ease; }
a.vefa-command-metric:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(33,48,42,.08); }
.vefa-command-metric__icon { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:15px; background:var(--vefa-green-100); color:var(--vefa-green-700); }
.vefa-command-metric--urgent .vefa-command-metric__icon { background:#fff0e9; color:#a44f33; }
.vefa-command-metric div { display:grid; min-width:0; }
.vefa-command-metric small { color:var(--vefa-muted); font-size:11px; font-weight:750; }
.vefa-command-metric strong { color:var(--vefa-green-950); font-family:Georgia,serif; font-size:30px; line-height:1.05; }
.vefa-command-metric span:not(.vefa-command-metric__icon) { color:var(--vefa-muted); font-size:11px; }

.vefa-presence-card { display:flex; align-items:center; gap:11px; min-width:210px; padding:12px 14px; border:1px solid var(--vefa-border); border-radius:16px; background:#fff; text-decoration:none; box-shadow:var(--vefa-shadow-soft); }
.vefa-presence-card>span { width:11px; height:11px; border-radius:999px; }
.vefa-presence-card.is-online>span { background:#2e9c69; box-shadow:0 0 0 5px rgba(46,156,105,.13); }
.vefa-presence-card.is-offline>span { background:#a3aaa6; box-shadow:0 0 0 5px rgba(163,170,166,.13); }
.vefa-presence-card div { display:grid; }
.vefa-presence-card small { color:var(--vefa-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.vefa-presence-card strong { color:var(--vefa-green-900); font-size:12px; }

.vefa-dashboard-columns { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:20px; align-items:start; margin-bottom:20px; }
.vefa-dashboard-columns--operations { grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr); }
.vefa-announcement-stack { display:grid; gap:12px; margin-bottom:16px; }
.vefa-announcement-stack article { padding:14px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.06); }
.vefa-announcement-stack article>span { color:#e9c878; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.vefa-announcement-stack strong { display:block; margin-top:5px; font-size:14px; }
.vefa-announcement-stack p { margin:6px 0 0; color:rgba(255,255,255,.67); font-size:12px; line-height:1.5; }

.vefa-response-target { display:flex; align-items:center; gap:13px; margin-top:16px; padding:14px; border-radius:16px; background:var(--vefa-green-100); }
.vefa-response-target__ring { display:grid; place-items:center; align-content:center; width:58px; height:58px; flex:0 0 58px; border:5px solid rgba(23,97,78,.14); border-top-color:var(--vefa-green-700); border-radius:999px; color:var(--vefa-green-900); }
.vefa-response-target__ring strong { font-size:17px; line-height:1; }
.vefa-response-target__ring small { font-size:8px; font-weight:800; }
.vefa-response-target div { display:grid; }
.vefa-response-target div strong { font-size:13px; color:var(--vefa-green-900); }
.vefa-response-target div span { color:var(--vefa-muted); font-size:11px; }

.vefa-safety-strip { display:flex; align-items:center; gap:15px; padding:18px 20px; border:1px solid rgba(205,162,74,.28); border-radius:18px; background:#fff9ea; }
.vefa-safety-strip>span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; background:var(--vefa-gold-soft); color:var(--vefa-gold-dark); }
.vefa-safety-strip div { flex:1; }
.vefa-safety-strip strong { color:var(--vefa-green-950); }
.vefa-safety-strip p { margin:3px 0 0; color:var(--vefa-muted); font-size:12px; }
.vefa-safety-strip a { color:var(--vefa-green-800); font-size:12px; font-weight:850; }

.vefa-case-list { gap:9px; }
.vefa-case-row { position:relative; display:block; padding:0; overflow:hidden; border:1px solid rgba(8,59,50,.09); border-radius:16px; background:#fff; }
.vefa-case-row>a { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; min-height:88px; padding:14px 15px 14px 20px; }
.vefa-case-row>form { padding:0 15px 14px 20px; }
.vefa-case-row__priority { position:absolute; inset:0 auto 0 0; width:4px; background:#96a09b; }
.vefa-case-row.priority-urgent .vefa-case-row__priority { background:#c35436; }
.vefa-case-row.priority-high .vefa-case-row__priority { background:#d59839; }
.vefa-case-row.priority-normal .vefa-case-row__priority { background:#3a846b; }
.vefa-case-row.priority-low .vefa-case-row__priority { background:#8c9893; }
.vefa-case-row__body { display:grid; gap:3px; min-width:0; }
.vefa-case-row__body>strong { overflow:hidden; color:var(--vefa-green-950); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.vefa-case-row__body>span { color:var(--vefa-muted); font-size:11px; }
.vefa-case-row__body small { color:var(--vefa-green-700); font-size:10px; font-weight:750; }
.vefa-case-row__meta { color:var(--vefa-gold-dark)!important; font-size:9px!important; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.vefa-case-row__badges { display:flex!important; flex-direction:column; align-items:flex-end; gap:6px!important; }
.vefa-priority { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.vefa-priority--urgent { background:#fde8df; color:#9c3d23; }
.vefa-priority--high { background:#fff0d8; color:#8d5b09; }
.vefa-priority--normal { background:#e1f0e9; color:#21634f; }
.vefa-priority--low { background:#edf0ee; color:#68716d; }
.vefa-status { padding:6px 9px; border-radius:999px; font-size:9px!important; font-weight:850; }
.vefa-status--appointment-scheduled { background:#e1f0e9; color:#21634f!important; }
.vefa-status--appointment-completed { background:#e8ecf8; color:#3d4c7e!important; }
.vefa-status--appointment-cancelled,.vefa-status--appointment-no_show { background:#f1ecea; color:#75645f!important; }

.vefa-empty { display:grid; justify-items:center; gap:5px; padding:28px; }
.vefa-empty strong { color:var(--vefa-green-900); }
.vefa-empty span { color:var(--vefa-muted); font-size:12px; }

.vefa-appointment-list { display:grid; gap:9px; }
.vefa-appointment-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px; border:1px solid var(--vefa-border); border-radius:15px; background:#fff; }
.vefa-date-tile { display:grid; place-items:center; align-content:center; width:48px; height:52px; border-radius:13px; background:var(--vefa-green-950); color:#fff; }
.vefa-date-tile strong { font-size:18px; line-height:1; }
.vefa-date-tile span { color:#e7c56f; font-size:9px; font-weight:900; text-transform:uppercase; }
.vefa-appointment-row>div:nth-child(2) { display:grid; min-width:0; }
.vefa-appointment-row>div:nth-child(2)>strong { color:var(--vefa-green-950); font-size:12px; }
.vefa-appointment-row>div:nth-child(2)>span,.vefa-appointment-row>div:nth-child(2)>small { color:var(--vefa-muted); font-size:10px; }
.vefa-inline-actions { display:flex; flex-wrap:wrap; gap:6px; grid-column:2/-1; }

.vefa-queue-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; padding:18px 20px; border-radius:20px; background:var(--vefa-green-950); color:#fff; }
.vefa-queue-hero>div:first-child { display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:12px; }
.vefa-queue-hero strong { font-size:15px; }
.vefa-queue-hero p { grid-column:2; margin:2px 0 0; color:rgba(255,255,255,.58); font-size:11px; }
.vefa-queue-pulse { grid-row:1/3; width:13px; height:13px; border-radius:999px; background:#e8c76f; box-shadow:0 0 0 7px rgba(232,199,111,.15); }
.vefa-priority-legend { display:flex; gap:7px; }
.vefa-priority-legend span { padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.74); font-size:9px; font-weight:850; }
.vefa-priority-legend .urgent { color:#ffc4b3; }.vefa-priority-legend .high { color:#ffd99d; }

.vefa-filter-bar { display:grid; grid-template-columns:minmax(220px,1fr) 180px auto auto; gap:10px; align-items:end; margin-bottom:18px; padding:14px; border:1px solid var(--vefa-border); border-radius:18px; background:#fff; }
.vefa-filter-bar--admin { grid-template-columns:minmax(220px,1fr) 170px 140px 180px auto auto; }
.vefa-filter-bar--compact { grid-template-columns:minmax(240px,1fr) auto; max-width:700px; }
.vefa-filter-bar label { display:grid; gap:5px; }
.vefa-filter-bar label>span { color:var(--vefa-muted); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.vefa-filter-bar input,.vefa-filter-bar select { width:100%; min-height:43px; border:1px solid #ddd8cd; border-radius:12px; background:#fff; padding:9px 11px; color:var(--vefa-ink); }

.vefa-guidance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }
.vefa-guidance-grid article { display:grid; grid-template-columns:34px 1fr; column-gap:11px; padding:16px; border-radius:17px; background:rgba(255,255,255,.62); border:1px solid var(--vefa-border); }
.vefa-guidance-grid article>span { grid-row:1/3; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:var(--vefa-gold-soft); color:var(--vefa-gold-dark); font-weight:900; }
.vefa-guidance-grid strong { color:var(--vefa-green-950); font-size:12px; }
.vefa-guidance-grid p { margin:3px 0 0; color:var(--vefa-muted); font-size:11px; }

.vefa-tab-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.vefa-tab-metrics--admin { grid-template-columns:repeat(5,minmax(0,1fr)); }
.vefa-tab-metrics a { display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border:1px solid var(--vefa-border); border-radius:15px; background:#fff; text-decoration:none; }
.vefa-tab-metrics a strong { color:var(--vefa-green-950); font-size:18px; }
.vefa-tab-metrics a span { color:var(--vefa-muted); font-size:11px; font-weight:750; }
.vefa-tab-metrics a.is-active { border-color:var(--vefa-gold); background:#fff9ea; box-shadow:0 0 0 2px rgba(205,162,74,.12); }

.vefa-message-inbox { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:20px; }
.vefa-inbox-thread { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid var(--vefa-border); text-decoration:none; }
.vefa-inbox-thread:last-child { border-bottom:0; }
.vefa-inbox-thread>div { min-width:0; }
.vefa-inbox-thread__top { display:flex; justify-content:space-between; gap:10px; }
.vefa-inbox-thread__top strong { color:var(--vefa-green-950); font-size:13px; }
.vefa-inbox-thread__top time { color:var(--vefa-muted); font-size:9px; }
.vefa-inbox-thread b { display:block; margin-top:2px; color:var(--vefa-ink); font-size:11px; }
.vefa-inbox-thread p { overflow:hidden; margin:3px 0 0; color:var(--vefa-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.vefa-avatar--large { width:48px!important; height:48px!important; font-size:15px!important; }
.vefa-avatar--xl { width:84px!important; height:84px!important; font-size:28px!important; }
.vefa-inbox-tips ol { display:grid; gap:12px; padding:0; list-style:none; counter-reset:item; }
.vefa-inbox-tips li { display:grid; gap:2px; padding-left:18px; border-left:3px solid var(--vefa-gold-soft); }
.vefa-inbox-tips li strong { color:var(--vefa-green-900); font-size:12px; }.vefa-inbox-tips li span { color:var(--vefa-muted); font-size:11px; }

.vefa-schedule-summary { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(140px,.4fr)); gap:12px; margin-bottom:18px; }
.vefa-schedule-summary article { display:flex; align-items:center; gap:12px; min-height:82px; padding:16px; border:1px solid var(--vefa-border); border-radius:18px; background:#fff; }
.vefa-schedule-summary article:first-child>span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--vefa-green-100); color:var(--vefa-green-700); }
.vefa-schedule-summary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.vefa-schedule-summary article div { display:grid; }.vefa-schedule-summary small { color:var(--vefa-muted); font-size:10px; }.vefa-schedule-summary strong { color:var(--vefa-green-950); font-size:18px; }

.vefa-resource-banner { display:flex; align-items:center; gap:14px; margin-bottom:18px; padding:18px; border-radius:19px; background:var(--vefa-green-950); color:#fff; }
.vefa-resource-banner>span { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:rgba(205,162,74,.15); color:#e9c878; }
.vefa-resource-banner p { margin:3px 0 0; color:rgba(255,255,255,.63); font-size:11px; }
.vefa-resource-groups { display:grid; gap:18px; }
.vefa-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.vefa-resource-grid article { display:grid; grid-template-columns:38px 1fr; gap:11px; padding:15px; border:1px solid var(--vefa-border); border-radius:16px; }
.vefa-resource-grid article>span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--vefa-green-100); color:var(--vefa-green-700); }
.vefa-resource-grid svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.vefa-resource-grid strong { color:var(--vefa-green-950); font-size:12px; }.vefa-resource-grid p { margin:3px 0 5px; color:var(--vefa-muted); font-size:10px; }.vefa-resource-grid a,.vefa-resource-grid small { color:var(--vefa-green-700); font-size:10px; font-weight:800; }

.vefa-profile-layout { display:grid; grid-template-columns:320px minmax(0,1fr); gap:20px; align-items:start; }
.vefa-volunteer-identity { text-align:center; }
.vefa-volunteer-identity h2 { margin:12px 0 2px; color:var(--vefa-green-950); }.vefa-volunteer-identity>p { margin:0 0 14px; color:var(--vefa-muted); font-size:11px; }
.vefa-availability-badge,.vefa-access-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:850; }
.vefa-availability-badge i,.vefa-access-badge i { width:7px; height:7px; border-radius:999px; }
.vefa-availability-badge.is-online,.vefa-access-badge.is-active { background:#e1f0e9; color:#21634f; }.vefa-availability-badge.is-online i,.vefa-access-badge.is-active i { background:#2e9c69; }
.vefa-availability-badge.is-offline { background:#edf0ee; color:#68716d; }.vefa-availability-badge.is-offline i { background:#89928e; }
.vefa-access-badge.is-suspended { background:#fde8df; color:#963b23; }.vefa-access-badge.is-suspended i { background:#c35436; }
.vefa-mini-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:18px; }
.vefa-mini-stats article { display:grid; padding:10px 6px; border-radius:12px; background:var(--vefa-cream); }.vefa-mini-stats strong { color:var(--vefa-green-950); font-size:18px; }.vefa-mini-stats span { color:var(--vefa-muted); font-size:9px; }
.vefa-availability-switch { display:flex!important; align-items:center; gap:12px!important; padding:14px; border:1px solid var(--vefa-border); border-radius:15px; background:var(--vefa-green-100); }
.vefa-availability-switch input { width:20px; height:20px; }.vefa-availability-switch span { display:grid; }.vefa-availability-switch small { color:var(--vefa-muted); font-size:10px; font-weight:500; }
.vefa-checkbox-field { margin:0; padding:14px; border:1px solid var(--vefa-border); border-radius:15px; }.vefa-checkbox-field legend { padding:0 6px; color:var(--vefa-green-900); font-weight:800; }
.vefa-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.vefa-check-grid label { display:flex; align-items:flex-start; gap:8px; color:var(--vefa-muted); font-size:11px; }

.vefa-volunteer-capacity-list { display:grid; gap:9px; }
.vefa-volunteer-capacity-list article { display:grid; grid-template-columns:38px 1fr 10px; align-items:center; gap:10px; padding:11px; border:1px solid var(--vefa-border); border-radius:14px; }
.vefa-volunteer-capacity-list article div { display:grid; }.vefa-volunteer-capacity-list strong { color:var(--vefa-green-950); font-size:12px; }.vefa-volunteer-capacity-list span { color:var(--vefa-muted); font-size:10px; }
.vefa-volunteer-capacity-list i,.vefa-volunteer-admin-card__head>i { width:9px; height:9px; border-radius:999px; }.vefa-volunteer-capacity-list i.is-online,.vefa-volunteer-admin-card__head>i.is-online { background:#2e9c69; box-shadow:0 0 0 4px rgba(46,156,105,.13); }.vefa-volunteer-capacity-list i.is-offline,.vefa-volunteer-admin-card__head>i.is-offline { background:#a2aaa6; }
.vefa-health-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--vefa-border); }.vefa-health-row span { display:grid; }.vefa-health-row strong { color:var(--vefa-green-950); font-size:12px; }.vefa-health-row small { color:var(--vefa-muted); font-size:9px; }.vefa-health-row>b { color:var(--vefa-green-900); font-size:22px; }
.vefa-health-progress { padding:14px 0; }.vefa-health-progress>div { display:flex; justify-content:space-between; color:var(--vefa-muted); font-size:10px; }.vefa-health-progress>i,.vefa-bar-report i { display:block; height:9px; overflow:hidden; margin-top:7px; border-radius:999px; background:#ece8df; }.vefa-health-progress b,.vefa-bar-report b { display:block; height:100%; border-radius:999px; background:var(--vefa-gold); }
.vefa-admin-action-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.vefa-admin-action-grid>a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; padding:17px; border:1px solid var(--vefa-border); border-radius:18px; background:#fff; text-decoration:none; }
.vefa-admin-action-grid>a>span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--vefa-green-100); color:var(--vefa-green-700); }.vefa-admin-action-grid strong { color:var(--vefa-green-950); font-size:12px; }.vefa-admin-action-grid p { margin:2px 0 0; color:var(--vefa-muted); font-size:10px; }.vefa-admin-action-grid b { color:var(--vefa-gold-dark); }

.vefa-people-table { display:grid; }
.vefa-people-table__head,.vefa-people-table>article { display:grid; grid-template-columns:minmax(260px,1.2fr) minmax(190px,.8fr) 130px 110px; gap:14px; align-items:center; }
.vefa-people-table__head { padding:0 12px 9px; color:var(--vefa-muted); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.vefa-people-table>article { padding:13px 12px; border-top:1px solid var(--vefa-border); }
.vefa-person-cell { display:flex; align-items:center; gap:11px; }.vefa-person-cell>div { display:grid; }.vefa-person-cell strong { color:var(--vefa-green-950); font-size:12px; }.vefa-person-cell small,.vefa-person-cell span,.vefa-case-counts span { color:var(--vefa-muted); font-size:9px; }.vefa-case-counts { display:grid; }.vefa-case-counts strong { color:var(--vefa-green-900); font-size:11px; }

.vefa-volunteer-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.vefa-volunteer-admin-card { padding:18px; border:1px solid var(--vefa-border); border-radius:20px; background:#fff; box-shadow:0 8px 26px rgba(33,48,42,.04); }
.vefa-volunteer-admin-card__head { display:grid; grid-template-columns:48px 1fr 10px; align-items:center; gap:11px; }.vefa-volunteer-admin-card h2 { margin:0; color:var(--vefa-green-950); font-size:16px; }.vefa-volunteer-admin-card__head p { margin:2px 0 0; color:var(--vefa-muted); font-size:9px; }
.vefa-volunteer-admin-card__status { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0; }.vefa-volunteer-bio { min-height:52px; color:var(--vefa-muted); font-size:10px; }
.vefa-skill-chips { display:flex; flex-wrap:wrap; gap:5px; margin:14px 0; }.vefa-skill-chips span { padding:5px 7px; border-radius:999px; background:var(--vefa-cream); color:var(--vefa-green-700); font-size:8px; font-weight:800; }
.vefa-card-actions { display:flex; align-items:center; gap:7px; }.vefa-card-actions form { margin-left:auto; }

.vefa-content-manager { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.vefa-admin-content-list { display:grid; gap:10px; }.vefa-admin-content-list article { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:13px; border:1px solid var(--vefa-border); border-radius:15px; }.vefa-admin-content-list article>div:first-child { display:grid; }.vefa-admin-content-list article span { color:var(--vefa-gold-dark); font-size:9px; font-weight:850; text-transform:uppercase; }.vefa-admin-content-list article strong { color:var(--vefa-green-950); font-size:12px; }.vefa-admin-content-list article p { margin:3px 0 0; color:var(--vefa-muted); font-size:10px; }

.vefa-report-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; margin-bottom:20px; }
.vefa-bar-report { display:grid; gap:14px; }.vefa-bar-report article>div { display:flex; justify-content:space-between; gap:14px; }.vefa-bar-report span { color:var(--vefa-muted); font-size:11px; }.vefa-bar-report strong { color:var(--vefa-green-900); font-size:12px; }
.vefa-donut-summary { display:grid; grid-template-columns:170px 1fr; align-items:center; gap:18px; }.vefa-donut { position:relative; display:grid; place-items:center; width:160px; height:160px; border-radius:999px; background:conic-gradient(#d6a34a 0 calc(var(--waiting)*1%),#3d8a70 calc(var(--waiting)*1%) calc((var(--waiting) + var(--progress))*1%),#916fa4 calc((var(--waiting) + var(--progress))*1%) calc((var(--waiting) + var(--progress) + var(--follow))*1%),#d8dcda calc((var(--waiting) + var(--progress) + var(--follow))*1%) 100%); }.vefa-donut:after { content:""; width:104px; height:104px; border-radius:999px; background:#fff; }.vefa-donut>span { position:absolute; z-index:1; display:grid; text-align:center; }.vefa-donut strong { color:var(--vefa-green-950); font-size:28px; }.vefa-donut small { color:var(--vefa-muted); font-size:9px; }
.vefa-report-legend { display:grid; gap:9px; }.vefa-report-legend div { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:8px; }.vefa-report-legend i { width:9px; height:9px; border-radius:999px; }.vefa-report-legend i.waiting{background:#d6a34a}.vefa-report-legend i.in_progress{background:#3d8a70}.vefa-report-legend i.follow_up{background:#916fa4}.vefa-report-legend i.closed{background:#d8dcda}.vefa-report-legend span { color:var(--vefa-muted); font-size:10px; }.vefa-report-legend strong { color:var(--vefa-green-950); font-size:11px; }
.vefa-outcome-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.vefa-outcome-cards article { padding:14px; border-radius:15px; background:var(--vefa-cream); }.vefa-outcome-cards span { color:var(--vefa-muted); font-size:9px; font-weight:800; text-transform:uppercase; }.vefa-outcome-cards strong { display:block; color:var(--vefa-green-950); font-size:25px; }.vefa-outcome-cards p,.vefa-report-note p { margin:4px 0 0; color:var(--vefa-muted); font-size:10px; }.vefa-report-note { display:grid; gap:12px; padding:16px; border-radius:16px; background:#fff8e9; border:1px solid rgba(205,162,74,.25); }

.vefa-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:20px; }.vefa-settings-preview .vefa-safety-strip { display:grid; grid-template-columns:42px 1fr; }.vefa-settings-preview .vefa-response-target { margin-top:16px; }.vefa-settings-note { margin-top:16px; color:var(--vefa-muted); font-size:10px; }

.vefa-demo-credentials { margin-bottom:20px; padding:20px; border-radius:22px; background:var(--vefa-green-950); color:#fff; }
.vefa-demo-credentials>div:first-child { display:flex; align-items:center; gap:12px; }.vefa-demo-credentials>div:first-child>span { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:rgba(205,162,74,.15); color:#e9c878; }.vefa-demo-credentials p { margin:2px 0 0; color:rgba(255,255,255,.62); font-size:11px; }
.vefa-credential-grid { display:grid!important; grid-template-columns:1fr 1fr; gap:12px!important; margin:16px 0; }.vefa-credential-grid article { display:grid; gap:4px; padding:14px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.06); }.vefa-credential-grid span { color:#e9c878; font-size:9px; text-transform:uppercase; font-weight:900; }.vefa-credential-grid strong { font-size:13px; }.vefa-credential-grid code { padding:6px 8px; border-radius:8px; background:rgba(0,0,0,.2); color:#fff; font-size:12px; }
.vefa-demo-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; margin-bottom:18px; }.vefa-demo-steps { display:grid; gap:13px; margin-top:16px; }.vefa-demo-steps article { display:grid; grid-template-columns:36px 1fr; gap:11px; }.vefa-demo-steps article>span { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:var(--vefa-gold-soft); color:var(--vefa-gold-dark); font-weight:900; }.vefa-demo-steps strong { color:var(--vefa-green-950); font-size:12px; }.vefa-demo-steps p { margin:2px 0 0; color:var(--vefa-muted); font-size:10px; }.vefa-demo-control form+form { margin-top:8px; }.vefa-demo-control>small { display:block; margin-top:12px; color:var(--vefa-muted); font-size:9px; }.vefa-demo-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.vefa-demo-feature-grid article { padding:16px; border:1px solid var(--vefa-border); border-radius:17px; background:#fff; }.vefa-demo-feature-grid article>span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--vefa-green-100); color:var(--vefa-green-700); }.vefa-demo-feature-grid strong { display:block; margin-top:10px; color:var(--vefa-green-950); font-size:11px; }.vefa-demo-feature-grid p { margin:3px 0 0; color:var(--vefa-muted); font-size:9px; }

.vefa-case-command-bar { display:grid; grid-template-columns:280px 1fr; gap:18px; align-items:center; margin-bottom:18px; padding:15px 18px; border:1px solid var(--vefa-border); border-radius:20px; background:#fff; box-shadow:0 8px 25px rgba(33,48,42,.04); }.vefa-case-command-bar>div { display:flex; align-items:center; gap:11px; }.vefa-case-command-bar>div>div { display:grid; }.vefa-case-command-bar small,.vefa-case-command-bar span { color:var(--vefa-muted); font-size:9px; }.vefa-case-command-bar strong { color:var(--vefa-green-950); font-size:13px; }.vefa-case-command-bar dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; }.vefa-case-command-bar dl>div { padding-left:12px; border-left:1px solid var(--vefa-border); }.vefa-case-command-bar dt { color:var(--vefa-muted); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }.vefa-case-command-bar dd { margin:3px 0 0; color:var(--vefa-green-950); font-size:10px; font-weight:750; }
.vefa-case-workspace-v31 { display:grid; grid-template-columns:280px minmax(420px,1fr) 300px; gap:18px; align-items:start; }.vefa-case-sidebar { display:grid; gap:18px; }.vefa-accept-box { margin-bottom:16px; padding:14px; border-radius:15px; background:#fff8e9; border:1px solid rgba(205,162,74,.28); }.vefa-accept-box strong { color:var(--vefa-green-950); }.vefa-accept-box p { margin:4px 0 12px; color:var(--vefa-muted); font-size:10px; }.vefa-member-context blockquote { margin:0; padding:14px; border-left:3px solid var(--vefa-gold); border-radius:0 12px 12px 0; background:var(--vefa-cream); color:var(--vefa-ink); font-size:11px; }.vefa-member-context>small { display:block; margin-top:9px; color:var(--vefa-muted); font-size:9px; }
.vefa-conversation-v31 { min-height:700px; }.vefa-message-thread--workspace { max-height:580px; min-height:360px; padding:8px 2px 18px; }.vefa-message { box-shadow:none; }.vefa-message__head { display:flex; align-items:center; gap:7px; }.vefa-message__head span { padding:3px 6px; border-radius:999px; background:#efd58f; color:#6c4e0a; font-size:8px; font-weight:900; text-transform:uppercase; }.vefa-reply-composer { margin-top:12px; padding:14px; border-radius:16px; background:var(--vefa-cream); }.vefa-reply-composer label>span { display:block; margin-bottom:6px; color:var(--vefa-green-900); font-size:10px; font-weight:850; }.vefa-reply-composer textarea { width:100%; border:1px solid #ddd8cd; border-radius:13px; padding:12px; resize:vertical; }.vefa-reply-composer>div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }.vefa-check { display:flex!important; align-items:center; gap:7px!important; color:var(--vefa-muted)!important; font-size:9px!important; }.vefa-case-appointments { margin-top:16px; }.vefa-case-appointments .vefa-appointment-row { grid-template-columns:38px 1fr; }.vefa-case-appointments .vefa-date-tile { width:38px; height:42px; }.vefa-case-appointments .vefa-status { grid-column:2; width:max-content; }.vefa-activity-timeline { display:grid; gap:0; }.vefa-activity-timeline article { position:relative; display:grid; grid-template-columns:12px 1fr; gap:9px; min-height:48px; }.vefa-activity-timeline article:after { content:""; position:absolute; left:5px; top:14px; bottom:-5px; width:1px; background:#ded9cf; }.vefa-activity-timeline article:last-child:after { display:none; }.vefa-activity-timeline i { position:relative; z-index:1; width:11px; height:11px; margin-top:3px; border:3px solid #fff; border-radius:999px; background:var(--vefa-gold); box-shadow:0 0 0 1px rgba(205,162,74,.4); }.vefa-activity-timeline div { display:grid; }.vefa-activity-timeline strong { color:var(--vefa-green-950); font-size:10px; }.vefa-activity-timeline span { color:var(--vefa-muted); font-size:8px; }

.vefa-button--small { min-height:34px!important; padding:7px 10px!important; font-size:9px!important; }.vefa-button--ghost { border:1px solid var(--vefa-border); background:#fff; color:var(--vefa-muted); }.vefa-button--ghost:hover { color:var(--vefa-green-800); border-color:rgba(8,59,50,.22); }.vefa-button--gold { border-color:var(--vefa-gold); background:var(--vefa-gold); color:var(--vefa-green-950); }
.vefa-alert { border-radius:15px; padding:12px 15px; font-size:11px; }
.vefa-login-alert { margin-bottom:14px; padding:12px 14px; border:1px solid #edc9bc; border-radius:13px; background:#fff0ea; color:#8e3e27; font-size:12px; }

@media (max-width:1280px) {
    .vefa-workspace-shell { grid-template-columns:230px minmax(0,1fr); }
    .vefa-case-workspace-v31 { grid-template-columns:250px minmax(380px,1fr); }
    .vefa-case-workspace-v31>.vefa-case-sidebar:last-child { grid-column:1/-1; grid-template-columns:1fr 1fr; }
    .vefa-volunteer-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vefa-command-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vefa-filter-bar--admin { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1000px) {
    .vefa-workspace-shell { grid-template-columns:1fr; }
    .vefa-role-sidebar { position:fixed; z-index:90; top:76px; left:14px; bottom:14px; width:min(300px,calc(100% - 28px)); height:auto; border-radius:20px; box-shadow:0 22px 60px rgba(0,0,0,.24); transform:translateX(calc(-100% - 28px)); transition:.2s ease; }
    .vefa-role-sidebar.is-open { transform:translateX(0); }
    .vefa-workspace-context { display:none; }
    .vefa-page-shell--workspace { width:min(calc(100% - 28px),1460px); }
    .vefa-dashboard-columns,.vefa-dashboard-columns--operations,.vefa-message-inbox,.vefa-profile-layout,.vefa-content-manager,.vefa-report-grid,.vefa-settings-layout,.vefa-demo-layout { grid-template-columns:1fr; }
    .vefa-guidance-grid,.vefa-admin-action-grid,.vefa-demo-feature-grid { grid-template-columns:1fr 1fr; }
    .vefa-case-workspace-v31 { grid-template-columns:1fr; }.vefa-case-workspace-v31>.vefa-case-sidebar:last-child { grid-column:auto; grid-template-columns:1fr 1fr; }
    .vefa-case-command-bar { grid-template-columns:1fr; }.vefa-case-command-bar dl { grid-template-columns:repeat(2,1fr); }
    .vefa-people-table__head { display:none; }.vefa-people-table>article { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
    .vefa-command-metrics,.vefa-tab-metrics,.vefa-tab-metrics--admin,.vefa-schedule-summary,.vefa-volunteer-admin-grid,.vefa-resource-grid,.vefa-outcome-cards,.vefa-credential-grid { grid-template-columns:1fr; }
    .vefa-guidance-grid,.vefa-admin-action-grid,.vefa-demo-feature-grid { grid-template-columns:1fr; }
    .vefa-command-metric { min-height:88px; }.vefa-command-metric strong { font-size:25px; }
    .vefa-filter-bar,.vefa-filter-bar--admin,.vefa-filter-bar--compact { grid-template-columns:1fr; }
    .vefa-queue-hero { align-items:flex-start; flex-direction:column; }.vefa-priority-legend { flex-wrap:wrap; }
    .vefa-case-row>a { grid-template-columns:1fr; }.vefa-case-row__badges { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
    .vefa-inbox-thread { grid-template-columns:42px 1fr; }.vefa-inbox-thread>.vefa-status { grid-column:2; width:max-content; }
    .vefa-check-grid { grid-template-columns:1fr; }.vefa-form-grid { grid-template-columns:1fr!important; }
    .vefa-people-table>article { grid-template-columns:1fr; gap:10px; }.vefa-people-table>article form { justify-self:start; }
    .vefa-case-command-bar dl { grid-template-columns:1fr 1fr; }.vefa-case-workspace-v31>.vefa-case-sidebar:last-child { grid-template-columns:1fr; }
    .vefa-reply-composer>div { align-items:flex-start; flex-direction:column; }
    .vefa-donut-summary { grid-template-columns:1fr; justify-items:center; }.vefa-report-legend { width:100%; }
}
@media (max-width:1000px) and (min-width:821px) {
    .vefa-role-admin .vefa-portal-header__inner,
    .vefa-role-volunteer .vefa-portal-header__inner { grid-template-columns:1fr auto auto; }
    .vefa-role-admin .vefa-mobile-menu,
    .vefa-role-volunteer .vefa-mobile-menu { display:grid; place-items:center; gap:4px; width:42px; height:42px; padding:10px; border:1px solid var(--vefa-border); border-radius:12px; background:white; cursor:pointer; }
    .vefa-role-admin .vefa-mobile-menu span:not(.screen-reader-text),
    .vefa-role-volunteer .vefa-mobile-menu span:not(.screen-reader-text) { width:18px; height:2px; border-radius:2px; background:var(--vefa-green-900); }
}
.vefa-member-case-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 16px;padding:22px;border-radius:22px;background:var(--vefa-green-950);color:#fff}.vefa-member-case-summary h2{margin:6px 0 2px;color:#fff}.vefa-member-case-summary p{margin:0;color:rgba(255,255,255,.65)}.vefa-member-case-summary dl{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;margin:0}.vefa-member-case-summary dl>div{padding-left:14px;border-left:1px solid rgba(255,255,255,.15)}.vefa-member-case-summary dt{color:#e7c56f;font-size:9px;font-weight:900;text-transform:uppercase}.vefa-member-case-summary dd{margin:4px 0 0;font-size:11px;font-weight:750}.vefa-support-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:20px}.vefa-member-appointments{min-height:auto}.vefa-member-appointments>p{margin-top:16px;font-size:11px}.vefa-member-appointments .vefa-appointment-row{grid-template-columns:42px 1fr}.vefa-member-appointments .vefa-date-tile{width:42px;height:46px}.vefa-member-appointments .vefa-status{grid-column:2;width:max-content}@media(max-width:820px){.vefa-member-case-summary{align-items:flex-start;flex-direction:column}.vefa-member-case-summary dl{grid-template-columns:1fr}.vefa-support-case-grid{grid-template-columns:1fr}}

/* =========================================================
   VEFA Support Portal v3.1.1 — Fixed desktop workspace shell
   Keep the role sidebar in place while only the workspace
   content column scrolls. Mobile/tablet keeps document scroll.
   ========================================================= */
@media (min-width: 1001px) {
    body.vefa-role-admin,
    body.vefa-role-volunteer {
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        overflow: hidden;
    }

    body.vefa-role-admin .vefa-portal-header--workspace,
    body.vefa-role-volunteer .vefa-portal-header--workspace {
        position: relative;
        top: auto;
        height: 82px;
    }

    body.vefa-role-admin .vefa-workspace-shell,
    body.vefa-role-volunteer .vefa-workspace-shell {
        height: calc(100vh - 82px);
        height: calc(100dvh - 82px);
        min-height: 0;
        overflow: hidden;
    }

    body.vefa-role-admin .vefa-role-sidebar,
    body.vefa-role-volunteer .vefa-role-sidebar {
        position: relative;
        top: auto;
        height: 100%;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    body.vefa-role-admin .vefa-workspace-main,
    body.vefa-role-volunteer .vefa-workspace-main {
        height: 100%;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-gutter: stable;
    }

    body.vefa-role-admin .vefa-page-shell--workspace,
    body.vefa-role-volunteer .vefa-page-shell--workspace {
        min-height: 100%;
    }

    body.vefa-role-admin > .vefa-portal-footer,
    body.vefa-role-volunteer > .vefa-portal-footer {
        display: none;
    }
}

/* Member Messages — private case conversations */
.vefa-member-portal-messages .vefa-dashboard-main { font-weight: 500; }
.vefa-member-messages { grid-template-columns: minmax(250px, .37fr) minmax(0, 1fr)!important; align-items:stretch!important; min-height:620px; gap:18px!important; }
.vefa-member-message-list,.vefa-member-conversation { min-width:0; border:1px solid #e5ddd1; border-radius:18px; background:#fffdfa; box-shadow:0 8px 22px rgba(32,42,35,.05); }
.vefa-member-message-list { display:flex; flex-direction:column; overflow:hidden; }
.vefa-member-message-list__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px; border-bottom:1px solid #eee7dc; }
.vefa-member-message-list__head span,.vefa-member-conversation__head>div>span { color:#7a756d; font-size:10px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.vefa-member-message-list__head h2 { margin:4px 0 0; color:#173e32; font-size:17px; }.vefa-member-message-list__head>b { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#e4efe7; color:#1e6047; font-size:11px; }
.vefa-member-message-list__items { display:grid; overflow:auto; }.vefa-member-message-list__item { display:grid; gap:5px; padding:14px 16px; border-bottom:1px solid #f0eae0; color:#29382f; text-decoration:none; }.vefa-member-message-list__item:hover,.vefa-member-message-list__item:focus-visible,.vefa-member-message-list__item.is-selected { background:#f1f6ef; outline:none; }.vefa-member-message-list__item.is-selected { box-shadow:inset 3px 0 #2a6d50; }
.vefa-member-message-list__item-top,.vefa-member-message-list__item-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; }.vefa-member-message-list__item-top strong { color:#1a4838; font-size:10px; letter-spacing:.03em; }.vefa-member-message-list__item time { color:#88847c; font-size:9px; }.vefa-member-message-list__item>b { color:#263c31; font-size:12px; }.vefa-member-message-list__item p,.vefa-member-message-list__item small { overflow:hidden; margin:0; color:#687068; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.vefa-member-message-list__item small { color:#777d76; }.vefa-member-message-list__item-bottom { margin-top:3px; }.vefa-member-message-list__item-bottom i { font-style:normal; }
.vefa-member-message-empty,.vefa-member-conversation__empty,.vefa-member-message-thread__empty { display:grid; justify-items:center; align-content:center; min-height:220px; padding:25px; color:#6e746d; text-align:center; }.vefa-member-message-empty>span,.vefa-member-conversation__empty>span { display:grid; width:48px; height:48px; place-items:center; margin-bottom:10px; border-radius:50%; background:#edf2e7; color:#31664e; }.vefa-member-message-empty svg,.vefa-member-conversation__empty svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.8; }.vefa-member-message-empty strong,.vefa-member-conversation__empty h2,.vefa-member-message-thread__empty strong { margin:0; color:#244235; font-size:14px; }.vefa-member-message-empty p,.vefa-member-conversation__empty p,.vefa-member-message-thread__empty span { max-width:370px; margin:7px 0 0; font-size:11px; line-height:1.55; }.vefa-member-message-empty a { margin-top:12px; color:#215e45; font-size:11px; font-weight:800; }.vefa-member-conversation__empty.is-error { background:#fff7f3; }.vefa-member-conversation__empty.is-error>span { background:#fde5da; color:#994330; }
.vefa-member-conversation { display:flex; min-height:620px; flex-direction:column; padding:20px; }.vefa-member-conversation__back { display:none; width:max-content; margin-bottom:10px; color:#286047; font-size:11px; font-weight:800; text-decoration:none; }.vefa-member-conversation__head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:15px; border-bottom:1px solid #eee7dc; }.vefa-member-conversation__head h2 { margin:5px 0 3px; color:#183e32; font-size:18px; line-height:1.25; overflow-wrap:anywhere; }.vefa-member-conversation__head p { margin:0; color:#6a756d; font-size:11px; }.vefa-member-conversation__head i { flex:0 0 auto; font-style:normal; }
.vefa-member-message-alert { display:grid; gap:3px; margin-top:14px; padding:11px 13px; border:1px solid; border-radius:12px; font-size:11px; }.vefa-member-message-alert.is-success { border-color:#b7d8bf; background:#f0f8f0; color:#255c37; }.vefa-member-message-alert.is-error { border-color:#edc9c0; background:#fff5f2; color:#8a362b; }.vefa-member-message-alert span { line-height:1.45; }
.vefa-member-message-thread { display:grid; align-content:start; gap:10px; flex:1; min-height:280px; max-height:510px; margin:16px 0; overflow:auto; padding:2px 2px 10px; }.vefa-member-message-thread__older { justify-self:center; padding:7px 11px; border:1px solid #d9e4d8; border-radius:999px; background:#f4f8f1; color:#286047; font-size:10px; font-weight:800; text-decoration:none; }.vefa-member-message-thread__empty { min-height:200px; border:1px dashed #ded8cf; border-radius:14px; }.vefa-member-message { max-width:min(80%,580px); padding:11px 13px; border-radius:14px 14px 14px 4px; background:#f3eee6; color:#2d3c34; overflow-wrap:anywhere; }.vefa-member-message.is-member { align-self:end; border-radius:14px 14px 4px 14px; background:#dfeee4; }.vefa-member-message>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }.vefa-member-message strong { color:#285842; font-size:10px; }.vefa-member-message time { color:#778078; font-size:9px; white-space:nowrap; }.vefa-member-message p { margin:6px 0 0; font-size:11px; line-height:1.55; white-space:normal; }
.vefa-member-message-composer { display:grid; gap:9px; padding:13px; border:1px solid #e3ddd3; border-radius:15px; background:#faf7f0; }.vefa-member-message-composer label>span { display:block; margin-bottom:6px; color:#214b3a; font-size:11px; font-weight:850; }.vefa-member-message-composer textarea { box-sizing:border-box; width:100%; border:1px solid #dcd5ca; border-radius:11px; padding:10px; background:#fff; color:#293b32; font:inherit; font-size:12px; line-height:1.45; resize:vertical; }.vefa-member-message-composer>div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.vefa-member-message-composer small { color:#707770; font-size:9px; line-height:1.4; }.vefa-member-message-composer .vefa-dashboard-button { width:auto; min-height:36px; padding:0 14px; font-size:11px; }.vefa-member-conversation__notice { display:grid; gap:3px; padding:12px 14px; border:1px solid #ddd8cf; border-radius:13px; background:#f7f5f0; color:#5e665f; font-size:11px; }.vefa-member-conversation__notice strong { color:#39453d; }
@media (max-width:820px) { .vefa-member-messages { display:block!important; min-height:0; padding-top:0!important; }.vefa-member-message-list,.vefa-member-conversation { min-height:0; border-radius:15px; }.vefa-member-conversation { margin-top:0; padding:15px; }.vefa-member-messages.is-conversation-open .vefa-member-message-list { display:none; }.vefa-member-messages:not(.is-conversation-open) .vefa-member-conversation { display:none; }.vefa-member-conversation__back { display:block; }.vefa-member-message-thread { max-height:none; min-height:300px; }.vefa-member-message-composer>div { align-items:stretch; flex-direction:column; }.vefa-member-message-composer .vefa-dashboard-button { width:100%; }.vefa-member-message { max-width:90%; }.vefa-member-message-list__items { max-height:none; } }
/* Programs and activities: compact extensions of the member dashboard cards. */
.vefa-program-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end}.vefa-program-grid,.vefa-activity-grid{margin-top:20px}.vefa-program-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vefa-program-meta div,.vefa-program-session-list article{padding:14px;border:1px solid rgba(31,68,52,.14);border-radius:12px;background:#fffdf7}.vefa-program-meta dt{font-size:.78rem;font-weight:700;color:#52655a}.vefa-program-meta dd{margin:4px 0 0;font-weight:700}.vefa-program-session-list{display:grid;gap:10px}.vefa-program-session-list article{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.vefa-program-session-list span,.vefa-program-session-list small{color:#52655a}.vefa-activity-player{max-width:760px}.vefa-activity-clock{display:grid;place-items:center;min-height:150px;margin:22px 0;border-radius:18px;background:#edf3e9;border:1px solid #d3e2d0}.vefa-activity-clock strong{font-size:clamp(2.4rem,7vw,4.4rem);line-height:1;color:#183d2e}.vefa-activity-clock span{margin-top:8px;font-weight:700}.vefa-activity-player textarea{width:100%;box-sizing:border-box}.vefa-activity-player fieldset{border:0;padding:0;margin:18px 0}.vefa-activity-player fieldset button{margin:3px}.vefa-program-detail{max-width:900px}@media (max-width:760px){.vefa-program-filters{grid-template-columns:1fr}.vefa-program-meta{grid-template-columns:1fr}.vefa-program-session-list article{align-items:flex-start;flex-direction:column}.vefa-activity-clock{min-height:120px}.vefa-card-actions{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.vefa-activity-clock,*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Member Programs and Activities use the approved dashboard shell, not the legacy public-page shell. */
.vefa-member-portal-dashboard .vefa-programs-layout,
.vefa-member-portal-dashboard .vefa-activities-layout { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.vefa-member-portal-dashboard .vefa-programs-content,
.vefa-member-portal-dashboard .vefa-activities-content { display: grid; gap: 18px; min-width: 0; }
.vefa-member-portal-dashboard .vefa-programs-content > .vefa-section-block,
.vefa-member-portal-dashboard .vefa-activities-content > .vefa-section-block,
.vefa-member-portal-dashboard .vefa-programs-content > .vefa-activity-grid,
.vefa-member-portal-dashboard .vefa-activities-content > .vefa-activity-grid { margin: 0; }
.vefa-member-portal-dashboard .vefa-program-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; }
.vefa-member-portal-dashboard .vefa-program-filters > label:not(.vefa-support-check) { flex: 1 1 190px; }
.vefa-member-portal-dashboard .vefa-program-filters > .vefa-support-check { flex: 0 1 auto; min-height: 44px; }
.vefa-member-portal-dashboard .vefa-program-filters > button { flex: 0 0 auto; min-height: 44px; }
@media (max-width: 640px) {
    .vefa-member-portal-dashboard .vefa-program-filters > label,
    .vefa-member-portal-dashboard .vefa-program-filters > .vefa-support-check,
    .vefa-member-portal-dashboard .vefa-program-filters > button { flex-basis: 100%; width: 100%; }
}

/* Activities follow the compact, editorial dashboard rhythm used by Support and Appointments. */
.vefa-member-portal-dashboard .vefa-activity-intro { display:flex; align-items:end; justify-content:space-between; gap:22px; padding:4px 2px 2px; }
.vefa-member-portal-dashboard .vefa-activity-intro > div:first-child { max-width:650px; }
.vefa-member-portal-dashboard .vefa-activity-intro > div:first-child > span, .vefa-member-portal-dashboard .vefa-activity-history .vefa-support-kicker { color:#ad7518; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.vefa-member-portal-dashboard .vefa-activity-intro h2 { margin:6px 0 7px; color:#244235; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; }
.vefa-member-portal-dashboard .vefa-activity-intro p { margin:0; color:#6b6b64; font-size:13px; line-height:1.65; }
.vefa-member-portal-dashboard .vefa-activity-intro__count { display:grid; min-width:88px; place-items:center; padding:13px 15px; border:1px solid #e5dfd3; border-radius:14px; background:#f0f4eb; }
.vefa-member-portal-dashboard .vefa-activity-intro__count strong { color:#214d3b; font-family:Georgia,"Times New Roman",serif; font-size:27px; line-height:1; font-weight:500; }
.vefa-member-portal-dashboard .vefa-activity-intro__count span { margin-top:4px; color:#607161; font-size:10px; font-weight:750; }
.vefa-member-portal-dashboard .vefa-activity-library { padding:0; overflow:hidden; }
.vefa-member-portal-dashboard .vefa-activity-library > .vefa-dashboard-card__heading { padding:21px 22px 15px; border-bottom:1px solid #eee7dd; }
.vefa-member-portal-dashboard .vefa-activity-library__list { display:grid; }
.vefa-member-portal-dashboard .vefa-activity-library__list article { display:grid; grid-template-columns:46px minmax(0,1fr) 198px; gap:15px; align-items:center; padding:16px 22px; border-bottom:1px solid #eee7dd; }
.vefa-member-portal-dashboard .vefa-activity-library__list article:last-child { border-bottom:0; }
.vefa-member-portal-dashboard .vefa-activity-library__icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; background:#edf2e8; color:#52715a; }
.vefa-member-portal-dashboard .vefa-activity-library__icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; }
.vefa-member-portal-dashboard .vefa-activity-library__copy > span { display:block; margin-bottom:3px; color:#ad7518; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.vefa-member-portal-dashboard .vefa-activity-library__copy h3 { margin:0; color:#263c31; font-size:14px; }
.vefa-member-portal-dashboard .vefa-activity-library__copy p { max-width:590px; margin:4px 0 0; color:#6e6b63; font-size:12px; line-height:1.5; }
.vefa-member-portal-dashboard .vefa-activity-library__form { display:grid; grid-template-columns:85px 1fr; gap:8px; align-items:end; }
.vefa-member-portal-dashboard .vefa-activity-library__form label { display:grid; gap:4px; color:#6e6b63; font-size:10px; font-weight:750; }
.vefa-member-portal-dashboard .vefa-activity-library__form select { width:100%; min-height:37px; padding:0 8px; border:1px solid #dedbd2; border-radius:9px; background:#fffdfa; color:#334039; font:inherit; font-size:11px; }
.vefa-member-portal-dashboard .vefa-activity-library__form .vefa-dashboard-button { min-height:37px; padding:0 12px; font-size:11px; }
.vefa-member-portal-dashboard .vefa-activity-history > .vefa-dashboard-card__heading { align-items:start; }
.vefa-member-portal-dashboard .vefa-activity-history > .vefa-dashboard-card__heading b { display:grid; min-width:31px; height:31px; place-items:center; border-radius:50%; background:#eaf2ea; color:#285d45; font-size:12px; }
.vefa-member-portal-dashboard .vefa-activity-history__list { display:grid; gap:8px; margin-top:15px; }
.vefa-member-portal-dashboard .vefa-activity-history__list article { display:flex; align-items:center; gap:11px; padding:11px 12px; border:1px solid #eee6da; border-radius:10px; background:#fffdfa; }
.vefa-member-portal-dashboard .vefa-activity-history__list article > span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:#eaf2ea; color:#367254; }
.vefa-member-portal-dashboard .vefa-activity-history__list svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
.vefa-member-portal-dashboard .vefa-activity-history__list strong, .vefa-member-portal-dashboard .vefa-activity-history__list small { display:block; }
.vefa-member-portal-dashboard .vefa-activity-library .vefa-support-empty,
.vefa-member-portal-dashboard .vefa-activity-history .vefa-support-empty,
.vefa-member-portal-dashboard .vefa-program-library .vefa-support-empty,
.vefa-member-portal-dashboard .vefa-program-my-list .vefa-support-empty,
.vefa-member-portal-dashboard .vefa-program-sessions .vefa-support-empty { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:16px; min-height:92px; margin-top:14px; padding:10px 2px; }
.vefa-member-portal-dashboard .vefa-activity-library .vefa-support-empty > span,
.vefa-member-portal-dashboard .vefa-activity-history .vefa-support-empty > span,
.vefa-member-portal-dashboard .vefa-program-library .vefa-support-empty > span,
.vefa-member-portal-dashboard .vefa-program-my-list .vefa-support-empty > span,
.vefa-member-portal-dashboard .vefa-program-sessions .vefa-support-empty > span { display:grid; width:56px; height:56px; place-items:center; overflow:hidden; border-radius:50%; background:#edf2e8; color:#607b5f; }
.vefa-member-portal-dashboard .vefa-activity-library .vefa-support-empty svg,
.vefa-member-portal-dashboard .vefa-activity-history .vefa-support-empty svg,
.vefa-member-portal-dashboard .vefa-program-library .vefa-support-empty svg,
.vefa-member-portal-dashboard .vefa-program-my-list .vefa-support-empty svg,
.vefa-member-portal-dashboard .vefa-program-sessions .vefa-support-empty svg { display:block; width:27px; height:27px; max-width:27px; max-height:27px; fill:none; stroke:currentColor; stroke-width:1.6; }
.vefa-member-portal-dashboard .vefa-activity-history__list strong { color:#304037; font-size:12px; }.vefa-member-portal-dashboard .vefa-activity-history__list small { margin-top:2px; color:#77726a; font-size:11px; }
.vefa-member-portal-dashboard .vefa-activity-player { max-width:none; padding:25px 28px; }.vefa-member-portal-dashboard .vefa-activity-player__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }.vefa-member-portal-dashboard .vefa-activity-player__head a { color:#246149; font-size:12px; font-weight:800; text-decoration:none; }.vefa-member-portal-dashboard .vefa-activity-player__head span { color:#ad7518; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.vefa-member-portal-dashboard .vefa-activity-player h2 { margin:20px 0 5px; color:#264335; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; }.vefa-member-portal-dashboard .vefa-activity-player > p { max-width:650px; color:#6d6a63; font-size:13px; line-height:1.6; }
.vefa-member-portal-dashboard .vefa-activity-clock { max-width:500px; min-height:180px; margin:24px 0; border:1px solid #dce6d9; border-radius:16px; background:linear-gradient(135deg,#f2f6ee,#fdf9f1); }.vefa-member-portal-dashboard .vefa-activity-clock span { color:#6b7c6c; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.vefa-member-portal-dashboard .vefa-activity-clock strong { margin:4px 0; color:#264838; font-family:Georgia,"Times New Roman",serif; font-size:54px; font-weight:500; }.vefa-member-portal-dashboard .vefa-activity-clock em { color:#536b58; font-size:13px; font-style:normal; font-weight:700; }
.vefa-member-portal-dashboard .vefa-activity-player__actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }.vefa-member-portal-dashboard .vefa-activity-player__actions form { display:contents; }.vefa-member-portal-dashboard .vefa-dashboard-button.is-soft, .vefa-member-portal-dashboard .vefa-activity-text-button { border:1px solid #d9dfd2; background:#f5f7f2; color:#335a45; }.vefa-member-portal-dashboard .vefa-activity-text-button { min-height:39px; padding:0 12px; border-radius:10px; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }.vefa-member-portal-dashboard .vefa-activity-reflection { display:grid; max-width:650px; gap:7px; margin-top:20px; color:#37433b; font-size:12px; font-weight:750; }.vefa-member-portal-dashboard .vefa-activity-reflection textarea { min-height:110px; padding:11px; border:1px solid #dedbd2; border-radius:11px; font:inherit; }.vefa-member-portal-dashboard .vefa-activity-reflection small, .vefa-member-portal-dashboard .vefa-activity-moods small { color:#77726a; font-size:11px; font-weight:500; }.vefa-member-portal-dashboard .vefa-activity-moods { display:grid; gap:10px; margin-top:20px; color:#37433b; font-size:12px; }.vefa-member-portal-dashboard .vefa-activity-moods > div { display:flex; flex-wrap:wrap; gap:7px; }.vefa-member-portal-dashboard .vefa-activity-moods button { min-height:35px; padding:0 12px; border:1px solid #dedbd2; border-radius:99px; background:#fffdfa; color:#355944; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }.vefa-member-portal-dashboard .vefa-activity-moods button[aria-pressed="true"] { border-color:#547960; background:#eaf2e8; }
.vefa-member-portal-dashboard .vefa-activity-player [hidden] { display:none !important; }.vefa-member-portal-dashboard .vefa-activity-player__instruction { max-width:590px; margin:-8px 0 18px; color:#637062; font-size:12px; line-height:1.55; }
.vefa-member-portal-dashboard .vefa-activity-prompt { max-width:650px; margin-top:20px; padding:13px 14px; border:1px solid #e7dfce; border-radius:11px; background:#fdf8ed; }.vefa-member-portal-dashboard .vefa-activity-prompt strong { color:#8a641d; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }.vefa-member-portal-dashboard .vefa-activity-prompt p { margin:5px 0 0; color:#4d574f; font-size:13px; line-height:1.5; }
@media (max-width:760px){.vefa-member-portal-dashboard .vefa-activity-intro{align-items:flex-start;flex-direction:column}.vefa-member-portal-dashboard .vefa-activity-library__list article{grid-template-columns:42px minmax(0,1fr);padding:15px}.vefa-member-portal-dashboard .vefa-activity-library__form{grid-column:1 / -1;grid-template-columns:1fr 1fr}.vefa-member-portal-dashboard .vefa-activity-player{padding:19px}.vefa-member-portal-dashboard .vefa-activity-clock strong{font-size:45px}}

/* Guard SVG dimensions in the converted member pages against legacy/global icon rules. */
.vefa-member-portal-dashboard .vefa-member-tool-content .vefa-member-resource-card>span{display:grid!important;width:39px!important;height:39px!important;min-width:39px!important;min-height:39px!important;max-width:39px!important;max-height:39px!important;place-items:center!important;overflow:hidden!important}.vefa-member-portal-dashboard .vefa-member-tool-content .vefa-member-resource-card>span svg,.vefa-member-portal-dashboard .vefa-member-tool-content .vefa-dashboard-privacy svg,.vefa-member-portal-dashboard .vefa-member-tool-content .vefa-support-empty svg{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}

.vefa-member-portal-dashboard .vefa-member-tool-content .vefa-support-empty>span{display:grid!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;place-items:center!important;overflow:hidden!important}

.vefa-member-portal-dashboard .vefa-onboarding-note{max-width:820px;margin:0;color:#6f7169;font-size:11px;line-height:1.55}

/* Shared compact member-tool pages: Journal, Goals, Resources and Profile. */
.vefa-member-portal-dashboard .vefa-onboarding-layout{max-width:1220px;margin:0 auto;padding:8px 34px 42px}.vefa-member-portal-dashboard .vefa-onboarding-content{display:grid;gap:16px}.vefa-member-portal-dashboard .vefa-onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vefa-member-portal-dashboard .vefa-onboarding-progress span{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;border:1px solid #e6e0d5;border-radius:11px;background:#fffdfa;color:#7b7a72}.vefa-member-portal-dashboard .vefa-onboarding-progress b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#eeeae1;font-size:11px}.vefa-member-portal-dashboard .vefa-onboarding-progress small{font-size:10px;font-weight:750}.vefa-member-portal-dashboard .vefa-onboarding-progress .is-current{border-color:#c9d8c4;background:#f0f5ed;color:#285a42}.vefa-member-portal-dashboard .vefa-onboarding-progress .is-current b,.vefa-member-portal-dashboard .vefa-onboarding-progress .is-complete b{background:#2b6348;color:#fff}.vefa-member-portal-dashboard .vefa-onboarding-card{max-width:820px}.vefa-member-portal-dashboard .vefa-onboarding-card .vefa-dashboard-card__heading{margin-bottom:18px}.vefa-member-portal-dashboard .vefa-onboarding-card h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500}.vefa-member-portal-dashboard .vefa-onboarding-form{display:grid;gap:14px}.vefa-member-portal-dashboard .vefa-onboarding-form label{display:grid;gap:6px;color:#46564b;font-size:12px;font-weight:750}.vefa-member-portal-dashboard .vefa-onboarding-form input,.vefa-member-portal-dashboard .vefa-onboarding-form select,.vefa-member-portal-dashboard .vefa-onboarding-form textarea{box-sizing:border-box;width:100%;min-height:40px;padding:9px 11px;border:1px solid #dedbd2;border-radius:10px;background:#fffdfa;color:#293d32;font:inherit;font-size:13px}.vefa-member-portal-dashboard .vefa-onboarding-form textarea{resize:vertical}.vefa-member-portal-dashboard .vefa-onboarding-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #e5dfd3;border-radius:11px}.vefa-member-portal-dashboard .vefa-onboarding-form legend{grid-column:1/-1;padding:0 4px;color:#526055;font-size:12px;font-weight:800}.vefa-member-portal-dashboard .vefa-onboarding-form .vefa-member-check{display:flex;align-items:center;gap:8px;min-height:30px;color:#46564b;font-size:12px;font-weight:650}.vefa-member-portal-dashboard .vefa-onboarding-form .vefa-member-check input{width:16px;min-height:16px;margin:0;accent-color:#205640}.vefa-member-portal-dashboard .vefa-onboarding-privacy{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #dfe8d9;border-radius:11px;background:#f1f5ed}.vefa-member-portal-dashboard .vefa-onboarding-privacy>span{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:#dce9d8;color:#2f684b}.vefa-member-portal-dashboard .vefa-onboarding-privacy svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.vefa-member-portal-dashboard .vefa-onboarding-privacy p{margin:1px 0;color:#4d6251;font-size:11px;line-height:1.55}.vefa-member-portal-dashboard .vefa-onboarding-support-link{margin:0;font-size:12px}.vefa-member-portal-dashboard .vefa-onboarding-support-link a{color:#245f46;font-weight:800;text-decoration:none}@media(max-width:760px){.vefa-member-portal-dashboard .vefa-onboarding-layout{padding:5px 16px 30px}.vefa-member-portal-dashboard .vefa-onboarding-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.vefa-member-portal-dashboard .vefa-onboarding-progress span{display:grid;justify-items:center;grid-template-columns:1fr;padding:7px 4px;text-align:center}.vefa-member-portal-dashboard .vefa-onboarding-progress small{font-size:9px}.vefa-member-portal-dashboard .vefa-onboarding-form fieldset{grid-template-columns:1fr}.vefa-member-portal-dashboard .vefa-onboarding-card{padding:18px}}
.vefa-member-portal-dashboard .vefa-member-tool-layout{max-width:1220px;margin:0 auto;padding:8px 34px 42px}.vefa-member-portal-dashboard .vefa-member-tool-content{display:grid;gap:16px}.vefa-member-portal-dashboard .vefa-member-tool-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:16px;align-items:start}.vefa-member-portal-dashboard .vefa-member-editor,.vefa-member-portal-dashboard .vefa-member-list,.vefa-member-portal-dashboard .vefa-member-profile-summary{min-width:0}.vefa-member-portal-dashboard .vefa-member-editor .vefa-support-form{display:grid;gap:13px;margin-top:16px}.vefa-member-portal-dashboard .vefa-member-editor label{display:grid;gap:6px;color:#46564b;font-size:12px;font-weight:750}.vefa-member-portal-dashboard .vefa-member-editor input,.vefa-member-portal-dashboard .vefa-member-editor select,.vefa-member-portal-dashboard .vefa-member-editor textarea,.vefa-member-portal-dashboard .vefa-member-resource-filters input,.vefa-member-portal-dashboard .vefa-member-resource-filters select{box-sizing:border-box;width:100%;min-height:40px;padding:9px 11px;border:1px solid #dedbd2;border-radius:10px;background:#fffdfa;color:#293d32;font:inherit;font-size:13px}.vefa-member-portal-dashboard .vefa-member-editor textarea{min-height:108px;resize:vertical}.vefa-member-portal-dashboard .vefa-member-editor fieldset{display:grid;gap:8px;padding:12px;border:1px solid #e5dfd3;border-radius:11px}.vefa-member-portal-dashboard .vefa-member-editor legend{padding:0 4px;color:#526055;font-size:12px;font-weight:750}.vefa-member-portal-dashboard .vefa-member-check{display:flex!important;align-items:center;gap:8px;min-height:28px;color:#46564b;font-size:12px!important;font-weight:650!important}.vefa-member-portal-dashboard .vefa-member-check input{width:16px;min-height:16px;margin:0;accent-color:#205640}.vefa-member-portal-dashboard .vefa-member-record-list{display:grid;margin:13px -21px -21px}.vefa-member-portal-dashboard .vefa-member-record-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 21px;border-top:1px solid #eee7dd}.vefa-member-portal-dashboard .vefa-member-record-list strong,.vefa-member-portal-dashboard .vefa-member-record-list small,.vefa-member-portal-dashboard .vefa-member-record-list p{display:block}.vefa-member-portal-dashboard .vefa-member-record-list strong{margin-top:3px;color:#294334;font-size:13px}.vefa-member-portal-dashboard .vefa-member-record-list p{margin:4px 0 0;color:#6f6a61;font-size:12px;line-height:1.5}.vefa-member-portal-dashboard .vefa-member-record-list small{color:#77726a;font-size:10px;font-weight:750}.vefa-member-portal-dashboard .vefa-member-record-list>article>div:last-child{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}.vefa-member-portal-dashboard .vefa-member-record-list a,.vefa-member-portal-dashboard .vefa-member-record-list button,.vefa-member-portal-dashboard .vefa-member-resource-card button,.vefa-member-portal-dashboard .vefa-member-profile-summary>a{min-height:32px;padding:0 10px;border:1px solid #d9dfd2;border-radius:9px;background:#f5f7f2;color:#2b5b43;font:inherit;font-size:11px;font-weight:800;line-height:32px;text-decoration:none;cursor:pointer}.vefa-member-portal-dashboard .vefa-member-record-list form{margin:0}.vefa-member-portal-dashboard .vefa-member-progress{width:min(210px,100%);height:5px;margin:8px 0 5px;overflow:hidden;border-radius:99px;background:#e6e9e1}.vefa-member-portal-dashboard .vefa-member-progress span{display:block;height:100%;border-radius:inherit;background:#47765a}.vefa-member-portal-dashboard .vefa-goal-status{display:inline-flex;width:max-content;padding:4px 7px;border-radius:99px;background:#eef3eb;color:#456a4d!important;font-size:10px!important;font-weight:800!important}.vefa-member-portal-dashboard .vefa-goal-status.is-paused,.vefa-member-portal-dashboard .vefa-goal-status.is-archived{background:#f1eee7;color:#6e675b!important}.vefa-member-portal-dashboard .vefa-goal-status.is-completed{background:#edf2e8;color:#386e4e!important}.vefa-member-portal-dashboard .vefa-member-filter-card{padding:15px 18px}.vefa-member-portal-dashboard .vefa-member-resource-filters{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(160px,.8fr) auto auto;gap:10px;align-items:end}.vefa-member-portal-dashboard .vefa-member-resource-filters label:not(.vefa-member-check){display:grid;gap:5px;color:#566158;font-size:10px;font-weight:800}.vefa-member-portal-dashboard .vefa-member-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vefa-member-portal-dashboard .vefa-member-resource-card{display:grid;grid-template-columns:39px minmax(0,1fr);gap:12px}.vefa-member-portal-dashboard .vefa-member-resource-card>span{display:grid;width:39px;height:39px;place-items:center;border-radius:11px;background:#edf2e8;color:#4c7657}.vefa-member-portal-dashboard .vefa-member-resource-card svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.vefa-member-portal-dashboard .vefa-member-resource-card small{color:#a6751d;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vefa-member-portal-dashboard .vefa-member-resource-card h2{margin:4px 0;color:#294334;font-size:14px}.vefa-member-portal-dashboard .vefa-member-resource-card p{margin:0;color:#6e6b63;font-size:12px;line-height:1.55}.vefa-member-portal-dashboard .vefa-member-resource-card__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.vefa-member-portal-dashboard .vefa-member-resource-card__actions form{margin:0}.vefa-member-portal-dashboard .vefa-member-resource-card__actions a{color:#296047;font-size:11px;font-weight:800;line-height:32px;text-decoration:none}.vefa-member-portal-dashboard .vefa-member-profile-summary{display:grid;justify-items:start;gap:9px}.vefa-member-portal-dashboard .vefa-member-profile-summary h2{margin:5px 0 0;color:#294334;font-size:17px}.vefa-member-portal-dashboard .vefa-member-profile-summary p{margin:0;color:#6f6a61;font-size:12px;line-height:1.55}.vefa-member-portal-dashboard .vefa-member-profile-summary>a{margin-top:5px}@media(max-width:760px){.vefa-member-portal-dashboard .vefa-member-tool-layout{padding:5px 16px 30px}.vefa-member-portal-dashboard .vefa-member-tool-grid,.vefa-member-portal-dashboard .vefa-member-resource-grid,.vefa-member-portal-dashboard .vefa-member-resource-filters{grid-template-columns:1fr}.vefa-member-portal-dashboard .vefa-member-record-list article{flex-direction:column;gap:10px}.vefa-member-portal-dashboard .vefa-member-record-list>article>div:last-child{width:100%}.vefa-member-portal-dashboard .vefa-member-record-list a,.vefa-member-portal-dashboard .vefa-member-record-list button{flex:1;text-align:center}}

/* Programs use the same compact list and detail treatment as the member Support Centre. */
.vefa-member-portal-dashboard .vefa-program-intro { display:flex; align-items:end; justify-content:space-between; gap:22px; padding:4px 2px 2px; }.vefa-member-portal-dashboard .vefa-program-intro > div:first-child{max-width:650px}.vefa-member-portal-dashboard .vefa-program-intro > div:first-child>span{color:#ad7518;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.vefa-member-portal-dashboard .vefa-program-intro h2{margin:6px 0 7px;color:#244235;font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500}.vefa-member-portal-dashboard .vefa-program-intro p{margin:0;color:#6b6b64;font-size:13px;line-height:1.65}.vefa-member-portal-dashboard .vefa-program-intro>div:last-child{display:grid;min-width:88px;place-items:center;padding:13px 15px;border:1px solid #e5dfd3;border-radius:14px;background:#f7f0e2}.vefa-member-portal-dashboard .vefa-program-intro>div:last-child strong{color:#795318;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500;line-height:1}.vefa-member-portal-dashboard .vefa-program-intro>div:last-child span{margin-top:4px;color:#806a42;font-size:10px;font-weight:750}.vefa-member-portal-dashboard .vefa-program-filters-card{padding:16px 18px}.vefa-member-portal-dashboard .vefa-program-filters{display:grid;grid-template-columns:minmax(190px,1.6fr) minmax(145px,.8fr) minmax(145px,.8fr) auto;gap:11px;align-items:end}.vefa-member-portal-dashboard .vefa-program-filters>label:not(.vefa-program-filter-check){display:grid;gap:5px;color:#5c625b;font-size:10px;font-weight:750}.vefa-member-portal-dashboard .vefa-program-filters input[type="text"],.vefa-member-portal-dashboard .vefa-program-filters select{box-sizing:border-box;width:100%;min-height:39px;padding:0 10px;border:1px solid #dedbd2;border-radius:9px;background:#fffdfa;color:#334039;font:inherit;font-size:12px}.vefa-member-portal-dashboard .vefa-program-filter-check{display:flex;align-items:center;gap:7px;min-height:39px;color:#49564d;font-size:11px}.vefa-member-portal-dashboard .vefa-program-filter-check input{width:16px;height:16px;accent-color:#235843}.vefa-member-portal-dashboard .vefa-program-filters .vefa-dashboard-button{min-height:39px;padding:0 13px;font-size:11px}.vefa-member-portal-dashboard .vefa-program-profile-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #ead9b9;border-radius:12px;background:#fbf4e7}.vefa-member-portal-dashboard .vefa-program-profile-prompt strong,.vefa-member-portal-dashboard .vefa-program-profile-prompt span{display:block}.vefa-member-portal-dashboard .vefa-program-profile-prompt strong{color:#584723;font-size:12px}.vefa-member-portal-dashboard .vefa-program-profile-prompt span{margin-top:4px;color:#776f61;font-size:11px}.vefa-member-portal-dashboard .vefa-program-profile-prompt a{flex:0 0 auto;color:#255843;font-size:11px;font-weight:800;text-decoration:none}.vefa-member-portal-dashboard .vefa-program-profile-prompt.is-unavailable{background:#f8eeee;border-color:#ead3cb}.vefa-member-portal-dashboard .vefa-program-library{padding:0;overflow:hidden}.vefa-member-portal-dashboard .vefa-program-library>.vefa-dashboard-card__heading{padding:21px 22px 15px;border-bottom:1px solid #eee7dd}.vefa-member-portal-dashboard .vefa-program-library>div:not(.vefa-dashboard-card__heading){display:grid}.vefa-member-portal-dashboard .vefa-program-library article{display:grid;grid-template-columns:46px minmax(0,1fr) 135px;gap:15px;align-items:center;padding:16px 22px;border-bottom:1px solid #eee7dd}.vefa-member-portal-dashboard .vefa-program-library article:last-child{border-bottom:0}.vefa-member-portal-dashboard .vefa-program-library__icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#f5efe2;color:#997326}.vefa-member-portal-dashboard .vefa-program-library__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.vefa-member-portal-dashboard .vefa-program-library article>div>span{display:block;margin-bottom:3px;color:#ad7518;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vefa-member-portal-dashboard .vefa-program-library h3{margin:0;color:#263c31;font-size:14px}.vefa-member-portal-dashboard .vefa-program-library p{margin:4px 0;color:#6e6b63;font-size:12px;line-height:1.5}.vefa-member-portal-dashboard .vefa-program-library small{color:#667465;font-size:11px;font-weight:700}.vefa-member-portal-dashboard .vefa-program-library aside{display:grid;justify-items:end;gap:6px}.vefa-member-portal-dashboard .vefa-program-library i,.vefa-member-portal-dashboard .vefa-program-detail__title>i{padding:5px 8px;border-radius:99px;background:#eef3eb;color:#456a4d;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.vefa-member-portal-dashboard .vefa-program-library i.is-not_eligible,.vefa-member-portal-dashboard .vefa-program-detail__title>i.is-not_eligible{background:#f6ece8;color:#93523e}.vefa-member-portal-dashboard .vefa-program-library i.is-unknown,.vefa-member-portal-dashboard .vefa-program-detail__title>i.is-unknown{background:#faf1dc;color:#8c651e}.vefa-member-portal-dashboard .vefa-program-library aside em{color:#56655b;font-size:10px;font-style:normal;font-weight:750}.vefa-member-portal-dashboard .vefa-program-library aside a{color:#23604a;font-size:11px;font-weight:800;text-decoration:none}.vefa-member-portal-dashboard .vefa-program-my-list article,.vefa-member-portal-dashboard .vefa-program-sessions article{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #eee6da;border-radius:10px;background:#fffdfa}.vefa-member-portal-dashboard .vefa-program-my-list>div,.vefa-member-portal-dashboard .vefa-program-sessions>div{display:grid;gap:8px;margin-top:15px}.vefa-member-portal-dashboard .vefa-program-my-list article>span,.vefa-member-portal-dashboard .vefa-program-sessions article>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#eaf2ea;color:#367254}.vefa-member-portal-dashboard .vefa-program-my-list svg,.vefa-member-portal-dashboard .vefa-program-sessions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.vefa-member-portal-dashboard .vefa-program-my-list article strong{color:#304037;font-size:12px}.vefa-member-portal-dashboard .vefa-program-my-list article em{margin-left:auto;color:#657064;font-size:11px;font-style:normal;font-weight:750}.vefa-member-portal-dashboard .vefa-program-detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vefa-member-portal-dashboard .vefa-program-detail__head a{color:#246149;font-size:12px;font-weight:800;text-decoration:none}.vefa-member-portal-dashboard .vefa-program-detail__head span{color:#ad7518;font-size:10px;font-weight:800;letter-spacing:.1em}.vefa-member-portal-dashboard .vefa-program-detail__title{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-top:20px}.vefa-member-portal-dashboard .vefa-program-detail__title>div>span{color:#ad7518;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.vefa-member-portal-dashboard .vefa-program-detail h2{margin:6px 0;color:#264335;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500}.vefa-member-portal-dashboard .vefa-program-detail__title p{max-width:690px;margin:0;color:#6d6a63;font-size:13px;line-height:1.6}.vefa-member-portal-dashboard .vefa-program-detail__facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.vefa-member-portal-dashboard .vefa-program-detail__facts span{display:grid;gap:3px;min-width:135px;padding:10px 11px;border:1px solid #eee6da;border-radius:10px;color:#59665c;font-size:11px}.vefa-member-portal-dashboard .vefa-program-detail__facts b{color:#34433a;font-size:10px;text-transform:uppercase}.vefa-member-portal-dashboard .vefa-program-detail>.vefa-program-profile-prompt{margin:16px 0}.vefa-member-portal-dashboard .vefa-program-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:19px}.vefa-member-portal-dashboard .vefa-program-detail__actions form{margin:0}.vefa-member-portal-dashboard .vefa-program-detail__actions button{min-height:39px;padding:0 13px;border:1px solid #d9dfd2;border-radius:10px;background:#f5f7f2;color:#335a45;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.vefa-member-portal-dashboard .vefa-program-detail__actions button.is-primary{border-color:#174b39;background:#174b39;color:white}.vefa-member-portal-dashboard .vefa-program-detail__actions>i{padding:5px 8px;border-radius:99px;background:#eaf2ea;color:#456a4d;font-size:10px;font-style:normal;font-weight:800}.vefa-member-portal-dashboard .vefa-program-sessions article>div{display:grid;gap:3px}.vefa-member-portal-dashboard .vefa-program-sessions article strong{color:#304037;font-size:12px}.vefa-member-portal-dashboard .vefa-program-sessions article small{color:#77726a;font-size:11px}.vefa-member-portal-dashboard .vefa-program-sessions article em{margin-left:auto;color:#657064;font-size:11px;font-style:normal;font-weight:750}@media(max-width:760px){.vefa-member-portal-dashboard .vefa-program-intro{align-items:flex-start;flex-direction:column}.vefa-member-portal-dashboard .vefa-program-filters{grid-template-columns:1fr}.vefa-member-portal-dashboard .vefa-program-library article{grid-template-columns:42px minmax(0,1fr);padding:15px}.vefa-member-portal-dashboard .vefa-program-library aside{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start}.vefa-member-portal-dashboard .vefa-program-profile-prompt{align-items:flex-start;flex-direction:column}.vefa-member-portal-dashboard .vefa-program-detail__title{align-items:flex-start;flex-direction:column}.vefa-member-portal-dashboard .vefa-program-detail{padding:19px}.vefa-member-portal-dashboard .vefa-program-sessions article{align-items:flex-start;flex-wrap:wrap}.vefa-member-portal-dashboard .vefa-program-sessions article em{margin-left:38px}}

/* Volunteer contrast and icon consistency: these cards are intentionally light,
   so they must not inherit the white-on-forest treatment from the base components. */
.vefa-volunteer-portal .vefa-queue-hero,
.vefa-volunteer-portal .vefa-resource-banner { color: #263a30; }
.vefa-volunteer-portal .vefa-queue-hero strong,
.vefa-volunteer-portal .vefa-resource-banner strong { color: #1c4033; }
.vefa-volunteer-portal .vefa-queue-hero p,
.vefa-volunteer-portal .vefa-resource-banner p { color: #637068; }
.vefa-volunteer-portal .vefa-queue-pulse { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #f6ead0; color: #a97828; box-shadow: none; }
.vefa-volunteer-portal .vefa-queue-pulse svg,
.vefa-volunteer-portal .vefa-resource-banner > span svg,
.vefa-volunteer-portal .vefa-safety-strip > span svg,
.vefa-volunteer-portal .vefa-command-metric__icon svg,
.vefa-volunteer-portal .vefa-schedule-summary svg,
.vefa-volunteer-portal .vefa-resource-grid svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.vefa-volunteer-portal .vefa-resource-banner > span { background: #f6ead0; color: #a97828; }
.vefa-volunteer-portal .vefa-priority-legend span { background: #f0ebe1; color: #526158; }
.vefa-volunteer-portal .vefa-priority-legend .urgent { color: #9a4b35; }
.vefa-volunteer-portal .vefa-priority-legend .high { color: #8b651e; }
.vefa-volunteer-portal .vefa-priority-legend .normal { color: #35634e; }
.vefa-volunteer-portal .vefa-priority-legend .low { color: #69746b; }
.vefa-volunteer-portal .vefa-panel--briefing .vefa-panel-head h2 { color: #fff; }
.vefa-volunteer-portal .vefa-panel--briefing .vefa-panel-kicker,
.vefa-volunteer-portal .vefa-panel--briefing .vefa-panel-head a { color: #e7c56f; }
.vefa-volunteer-portal .vefa-panel--briefing .vefa-empty strong { color: #fff; }
.vefa-volunteer-portal .vefa-panel--briefing .vefa-empty span { color: rgba(255,255,255,.67); }

/* Keep Volunteer case rows content-sized. The shared workspace row has a
   generous minimum height for other surfaces; that makes the dashboard queue
   look vertically stretched when the accept form is present. */
.vefa-volunteer-portal .vefa-case-row > a,
.vefa-volunteer-portal .vefa-case-row__summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; min-height: 0; padding: 12px 15px 10px 20px; align-items: start; }
.vefa-volunteer-portal .vefa-case-row__body { align-content: start; }
.vefa-volunteer-portal .vefa-case-row__badges { align-self: start; }
.vefa-volunteer-portal .vefa-case-row > form { display: flex; justify-content: flex-end; padding: 0 15px 12px 20px; }
.vefa-volunteer-portal .vefa-case-row__action-hint { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 15px 12px 20px; color: #8a6a2b; font-size: 10px; }
.vefa-volunteer-portal .vefa-case-row__action-hint a { color: #1c614a; font-weight: 800; text-decoration: none; }
.vefa-volunteer-portal .vefa-queue-readiness { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 13px 15px; border: 1px solid #ead9b9; border-radius: 14px; background: #fff8e9; color: #46564b; }
.vefa-volunteer-portal .vefa-queue-readiness > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #f6ead0; color: #a97828; }
.vefa-volunteer-portal .vefa-queue-readiness svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.vefa-volunteer-portal .vefa-queue-readiness div { display: grid; gap: 2px; min-width: 0; flex: 1; }
.vefa-volunteer-portal .vefa-queue-readiness strong { color: #294334; font-size: 12px; }
.vefa-volunteer-portal .vefa-queue-readiness p { margin: 0; color: #6d716a; font-size: 11px; }
.vefa-volunteer-portal .vefa-queue-readiness em { color: #53634f; font-style: normal; font-weight: 750; }
@media (max-width: 760px) { .vefa-volunteer-portal .vefa-queue-readiness { align-items: flex-start; flex-wrap: wrap; }.vefa-volunteer-portal .vefa-queue-readiness > a { margin-left: 46px; } }

/* Keep portal dropdowns native without relying on speculative stacking hacks. */
body.vefa-member-portal-page select {
    appearance: auto;
    -webkit-appearance: menulist;
}

body.vefa-member-portal-page select.vefa-native-select-restored {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    inset: auto !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    touch-action: manipulation;
}

body.vefa-member-portal-page select.vefa-native-select-restored:not(:disabled) {
    cursor: pointer;
}

body.vefa-member-portal-page select:focus-visible {
    outline: 3px solid rgba(205, 162, 74, .42);
    outline-offset: 2px;
}

/* Admin: compact operational hierarchy, intentionally denser than member and volunteer pages. */
body.vefa-role-admin .vefa-command-metrics--admin { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
body.vefa-role-admin .vefa-command-metrics--admin .vefa-command-metric { min-height: 82px; padding: 14px 16px; border-radius: 16px; }
body.vefa-role-admin .vefa-command-metrics--admin .vefa-command-metric strong { margin-top: 3px; font-size: 27px; }
.vefa-admin-operation-summary { margin-bottom: 14px; padding: 16px 18px; }
.vefa-admin-operation-summary .vefa-panel-head { margin-bottom: 12px; }
.vefa-admin-operation-summary__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--vefa-border); border-radius: 14px; overflow: hidden; }
.vefa-admin-operation-summary__grid a { display: grid; gap: 4px; min-height: 62px; padding: 11px 13px; border-right: 1px solid var(--vefa-border); background: #fff; color: inherit; text-decoration: none; }
.vefa-admin-operation-summary__grid a:last-child { border-right: 0; }
.vefa-admin-operation-summary__grid a:hover { background: var(--vefa-cream); }
.vefa-admin-operation-summary__grid span { color: var(--vefa-muted); font-size: 10px; font-weight: 800; line-height: 1.25; }
.vefa-admin-operation-summary__grid strong { color: var(--vefa-green-950); font-size: 20px; line-height: 1; }
/* Third-party chat widgets are suppressed only in the private Admin workspace. */
body.vefa-role-admin #tidio-chat,
body.vefa-role-admin #tawkchat-container,
body.vefa-role-admin #crisp-chatbox,
body.vefa-role-admin .joinchat,
body.vefa-role-admin .chaty-widget,
body.vefa-role-admin [class*="chat-widget" i][style*="fixed" i],
body.vefa-role-admin iframe[src*="tawk" i],
body.vefa-role-admin iframe[src*="crisp" i],
body.vefa-role-admin iframe[src*="chat" i] { display: none !important; }
@media (max-width: 900px) {
    body.vefa-role-admin .vefa-command-metrics--admin,
    .vefa-admin-operation-summary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vefa-admin-operation-summary__grid a:nth-child(2n) { border-right: 0; }
}
@media (max-width: 520px) {
    body.vefa-role-admin .vefa-command-metrics--admin,
    .vefa-admin-operation-summary__grid { grid-template-columns: 1fr; }
    .vefa-admin-operation-summary__grid a { border-right: 0; border-bottom: 1px solid var(--vefa-border); }
    .vefa-admin-operation-summary__grid a:last-child { border-bottom: 0; }
}
