/* Portal uses the same palette, typography and header as the public site. */
.portal{padding-block:clamp(2rem,6vw,5rem);min-height:60vh}.portal-card{max-width:42rem;margin-inline:auto}.portal h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1.15}.portal p{color:var(--color-text-secondary)}.portal form{display:grid;gap:1rem}.portal label{display:grid;gap:.4rem}.portal input,.portal textarea,.portal select{width:100%;min-width:0;padding:.7rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);font:inherit}.portal button,.portal-button{display:inline-block;justify-self:start;padding:.65rem 1rem;border:1px solid var(--color-brand);border-radius:.5rem;background:var(--color-brand);color:var(--color-on-brand);font:inherit;font-weight:600;cursor:pointer}.portal .portal-consent{display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem}.portal-consent input{width:1.1rem;flex-shrink:0;margin-top:.25rem}.portal-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.portal-row,.person-row,.portal-tabs,.pagination{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.portal-row{justify-content:space-between}.portal-tabs{border-bottom:1px solid var(--color-border);padding-bottom:1rem}.portal [aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:.35em}.people-list{list-style:none;padding:0;margin:1rem 0}.people-list>li{padding:.8rem 0;border-bottom:1px solid var(--color-border)}.person-row a{overflow-wrap:anywhere}.person-row time{margin-left:auto;font-size:.8rem;color:var(--color-muted)}.people-list details{margin-top:.3rem;font-size:.9rem}.people-list summary{cursor:pointer;color:var(--color-brand-strong)}.portal-message-body{white-space:pre-wrap;overflow-wrap:anywhere}.portal .status-form{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem}.pagination a{padding:.35rem .6rem}.portal [role="status"],.portal [role="alert"]{padding:1rem;border:1px solid var(--color-border);border-radius:.5rem}@media(max-width:600px){.person-row{gap:.3rem .75rem}.person-row time{margin-left:0;width:100%}}

/* Two intentional navigation rows; resources always occupy the lower row. */
.site-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
.nav-primary,.nav-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:0 .55rem}
.site-nav .nav-secondary a{min-height:2.4rem;font-size:.78rem}
.header-inner{align-items:center;padding-block:.75rem}
.site-preferences{align-self:center}









.portal-card{max-width:44rem}.portal-card>h1{margin-bottom:1rem}.portal-card>p{line-height:1.7}.portal-card form{margin-top:2rem}.portal input:focus,.portal textarea:focus,.portal select:focus{outline:2px solid var(--color-accent);outline-offset:3px}
@media(min-width:64rem){.header-inner{grid-template-columns:auto minmax(0,1fr) auto;column-gap:1.5rem}.nav-primary,.nav-secondary{gap:0 .55rem}.site-nav a{padding-inline:.4rem}}
@media(max-width:47.99rem){.nav-primary,.nav-secondary{gap:0 .35rem}.site-nav a{font-size:.75rem}}

/* Editorial notice: outside the page hero, intentionally compact. */
.site-announcement{position:relative;z-index:1;background:#173c43;color:#eaf6f5;border-bottom:1px solid #31565c}
.announcement-inner{width:min(calc(100% - var(--page-gutter)*2),var(--content-width));margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:.8rem;padding-block:.65rem}
.announcement-dot{width:.35rem;height:.35rem;border-radius:50%;background:#95d9cb;flex-shrink:0}
.announcement-inner p{margin:0;font-size:.82rem;line-height:1.5;letter-spacing:.005em}
.announcement-inner a{display:inline-flex;align-items:center;gap:.6rem;flex-shrink:0;padding:.3rem .75rem;border:1px solid #638e92;border-radius:.25rem;color:#fff;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .15s}
.announcement-inner a:hover{background:#28545b}.announcement-inner a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.document-hero{min-height:21rem}.document-hero .hero-inner{padding-block:3rem 3.5rem}.document-hero h1{max-width:28ch;margin-bottom:0;font-size:clamp(2.2rem,4vw,3.65rem);letter-spacing:-.025em}.document-hero .eyebrow{margin-top:2rem}
@media(max-width:47.99rem){.announcement-inner{gap:.6rem;justify-content:space-between;padding-block:.65rem}.announcement-dot{display:none}.announcement-inner p{font-size:.73rem;max-width:31ch}.announcement-inner a{font-size:.73rem;padding:.35rem .6rem}.document-hero{min-height:18rem}.document-hero .hero-inner{padding-block:2rem 2.5rem}}

/* Keep the invitation attached to the measured navigation, including at zoom. */
.site-announcement{position:sticky;top:var(--menu-height,0px);z-index:9}
.announcement-inner{min-height:5.15rem;padding-block:1.2rem}
.announcement-inner p{font-size:.92rem}
:root{--ribbon-speed:1.15}
:root[data-theme="dark"]{--ribbon-opacity:.42}
@media(max-width:47.99rem){.announcement-inner{min-height:5.4rem;padding-block:1rem}.announcement-inner p{font-size:.8rem}}

.portal .admin-add{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;max-width:45rem}.admin-add label{flex:1;min-width:14rem}.person-row .item-edit{margin-left:auto;font-size:.85rem}.delete-item{display:inline-block}.delete-item form{padding:.75rem 0}.delete-item form p{margin:0;font-size:.85rem}
