/* Donor portal ([dmp_donor_portal]). Inherits the theme's font so it looks part of the site; every
   selector carries :is(#dmp-boost,*) (tools/isolate-css.py) so theme rules cannot break the layout. */
.dmp-portal:is(#dmp-boost,*){--dmp-portal-ink:#1d2b26;--dmp-portal-muted:#5b6762;--dmp-portal-line:#d9dfdb;--dmp-portal-surface:#fff;--dmp-portal-soft:#f4f6f4;box-sizing:border-box;max-width:760px;margin:0 auto;color:var(--dmp-portal-ink);font-size:16px;line-height:1.55}
.dmp-portal *:is(#dmp-boost,*),.dmp-portal *:is(#dmp-boost,*)::before,.dmp-portal *:is(#dmp-boost,*)::after{box-sizing:border-box}
.dmp-portal h2:is(#dmp-boost,*){font-size:26px;line-height:1.25;margin:0 0 8px}
.dmp-portal h3:is(#dmp-boost,*){font-size:19px;line-height:1.3;margin:0 0 12px}
.dmp-portal p:is(#dmp-boost,*){margin:0 0 12px}
.dmp-portal a:is(#dmp-boost,*){color:var(--dmp-primary,#00382b);text-decoration:underline;text-underline-offset:3px}
.dmp-portal a:focus-visible:is(#dmp-boost,*),.dmp-portal button:focus-visible:is(#dmp-boost,*),.dmp-portal summary:focus-visible:is(#dmp-boost,*),.dmp-portal .dmp-portal__input:focus-visible:is(#dmp-boost,*){outline:3px solid var(--dmp-focus-color,#568b70);outline-offset:2px}
.dmp-portal__card:is(#dmp-boost,*){padding:24px;margin:0 0 16px;border:1px solid var(--dmp-portal-line);border-radius:12px;background:var(--dmp-portal-surface)}
.dmp-portal__request label:is(#dmp-boost,*),.dmp-portal__cancel label:is(#dmp-boost,*){display:block;margin:14px 0 6px;font-weight:600;font-size:15px}
.dmp-portal__input:is(#dmp-boost,*){display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #8a9690;border-radius:8px;background:#fff;color:var(--dmp-portal-ink);font:inherit;font-size:16px}
textarea.dmp-portal__input:is(#dmp-boost,*){min-height:84px;resize:vertical}
.dmp-portal__button:is(#dmp-boost,*){display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;padding:10px 20px;border:1px solid var(--dmp-primary,#00382b);border-radius:8px;background:var(--dmp-primary,#00382b);color:var(--dmp-action-text,#fff);font:inherit;font-weight:600;cursor:pointer}
.dmp-portal__button:hover:is(#dmp-boost,*){filter:brightness(1.1)}
.dmp-portal__button--danger:is(#dmp-boost,*){border-color:#9b2c1a;background:#9b2c1a;color:#fff}
.dmp-portal__link-button:is(#dmp-boost,*){padding:6px 0;border:0;background:none;color:var(--dmp-primary,#00382b);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dmp-portal__header:is(#dmp-boost,*){display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 24px;margin:0 0 24px}
.dmp-portal__header p:is(#dmp-boost,*){margin:0;color:var(--dmp-portal-muted);word-break:break-word}
.dmp-portal__section:is(#dmp-boost,*){margin:0 0 32px}
.dmp-portal__gift:is(#dmp-boost,*){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start}
.dmp-portal__gift-amount:is(#dmp-boost,*){margin:0;font-size:22px;font-weight:700}
.dmp-portal__gift-amount span:is(#dmp-boost,*){font-size:16px;font-weight:400;color:var(--dmp-portal-muted)}
.dmp-portal__gift-meta:is(#dmp-boost,*){margin:0;color:var(--dmp-portal-muted)}
.dmp-portal__status:is(#dmp-boost,*){margin:0;padding:3px 10px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap}
.dmp-portal__status--active:is(#dmp-boost,*){background:#e3f1e8;color:#1d5c37}
.dmp-portal__status--warning:is(#dmp-boost,*){background:#fcefd9;color:#7a4a00}
.dmp-portal__status--stopped:is(#dmp-boost,*){background:var(--dmp-portal-soft);color:var(--dmp-portal-muted)}
.dmp-portal__cancel:is(#dmp-boost,*){grid-column:1/-1;margin-top:12px}
.dmp-portal__cancel summary:is(#dmp-boost,*){color:var(--dmp-primary,#00382b);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dmp-portal__cancel form:is(#dmp-boost,*){margin-top:12px;padding:16px;border-radius:8px;background:var(--dmp-portal-soft)}
.dmp-portal__table-wrap:is(#dmp-boost,*){overflow-x:auto}
.dmp-portal__table:is(#dmp-boost,*){width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dmp-portal__table th:is(#dmp-boost,*),.dmp-portal__table td:is(#dmp-boost,*){padding:10px 8px;border-bottom:1px solid var(--dmp-portal-line);text-align:left;vertical-align:top}
.dmp-portal__table th:is(#dmp-boost,*){font-size:14px;color:var(--dmp-portal-muted);font-weight:600}
.dmp-portal__amount:is(#dmp-boost,*){text-align:right;white-space:nowrap}
.dmp-portal__years:is(#dmp-boost,*){margin:0;padding:0 0 0 20px}
.dmp-portal__years li:is(#dmp-boost,*){margin:0 0 6px}
.dmp-portal__notice:is(#dmp-boost,*){margin:0 0 16px;padding:12px 16px;border-radius:8px;border:1px solid}
.dmp-portal__notice--success:is(#dmp-boost,*){border-color:#9fcdb0;background:#eef8f1;color:#1d5c37}
.dmp-portal__notice--error:is(#dmp-boost,*){border-color:#e5b6a9;background:#fff0e8;color:#8e321c}
.dmp-portal__contact:is(#dmp-boost,*){margin-top:24px;color:var(--dmp-portal-muted)}
.dmp-portal__sr:is(#dmp-boost,*){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:560px){.dmp-portal__card:is(#dmp-boost,*){padding:18px}.dmp-portal__gift:is(#dmp-boost,*){grid-template-columns:1fr}.dmp-portal__button:is(#dmp-boost,*){width:100%}}
.dmp-portal__changes:is(#dmp-boost,*){grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 20px;margin-top:12px}
.dmp-portal__changes form:is(#dmp-boost,*){margin:0}
.dmp-portal__changes .dmp-portal__cancel:is(#dmp-boost,*){margin-top:0;flex:1 1 220px}
.dmp-portal__button--secondary:is(#dmp-boost,*){border-color:var(--dmp-primary,#00382b);background:#fff;color:var(--dmp-primary,#00382b)}
.dmp-portal__muted:is(#dmp-boost,*){color:var(--dmp-portal-muted);font-size:14px}
.dmp-portal__check:is(#dmp-boost,*){display:flex;align-items:flex-start;gap:10px;margin:0 0 4px}
.dmp-portal__check input:is(#dmp-boost,*){width:18px;height:18px;margin-top:3px;flex:none}
.dmp-portal__update img:is(#dmp-boost,*){max-width:100%;height:auto}
.dmp-documents__category:is(#dmp-boost,*){margin:16px 0 6px;font-size:16px}
.dmp-documents__list:is(#dmp-boost,*){margin:0;padding:0 0 0 20px}
.dmp-documents__list li:is(#dmp-boost,*){margin:0 0 6px}
.dmp-documents__year:is(#dmp-boost,*),.dmp-documents__empty:is(#dmp-boost,*){color:var(--dmp-portal-muted,#5b6762);font-size:14px}
