:root{font-family:Arial,sans-serif;color:#252b36;background:#f5f6f8}*{box-sizing:border-box}body{margin:0}.portal-shell{max-width:1150px;margin:auto;padding:30px}header{display:flex;align-items:center;gap:22px;flex-wrap:wrap}header img{width:150px}header h1{flex:1}button{border:1px solid #d0d4da;border-radius:10px;background:#fff;color:#252b36;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none}button:disabled{opacity:.6;cursor:wait}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin:24px 0}.portal-card{background:#fff;border:1px solid #e0e3e8;border-radius:18px;overflow:hidden;padding-bottom:15px}.portal-card img{width:100%;height:240px;object-fit:contain;background:#fff}.portal-card h2,.portal-card p{padding:0 18px}.portal-card button{margin:8px}form{background:#fff;border:1px solid #dfe2e6;border-radius:16px;padding:24px;margin:20px 0;display:grid;gap:16px}label{display:grid;gap:7px}input,select{width:100%;padding:12px;border:1px solid #cdd1d7;border-radius:8px;font:inherit}.portal-check{display:flex;align-items:center}.portal-check input{width:auto}#portalGrants p{background:#fff;padding:14px;border-radius:8px;display:flex;gap:15px;align-items:center;justify-content:space-between}[hidden]{display:none!important}.event-registration-dialog{border:1px solid #d0d4da;border-radius:18px;width:min(460px,95vw)}.event-registration-dialog::backdrop{background:#0008}@media(max-width:600px){.portal-shell{padding:18px}header h1{font-size:24px}.portal-grid{grid-template-columns:1fr}}
.access-person{background:#fff;border:1px solid #dfe2e6;border-radius:16px;padding:24px;margin:18px 0}.access-person h3{margin:0 0 20px}.access-person-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:0}.access-person-details dt{font-size:.85rem;color:#616975;margin-bottom:6px;font-weight:700}.access-person-details dd{margin:0;overflow-wrap:anywhere}.access-person-events{list-style:none;padding:0;margin:0;display:grid;gap:12px}.access-person-events li{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e8eaed;padding-top:12px}.access-person-events button{flex-shrink:0}@media(max-width:600px){.access-person-events li{align-items:flex-start;flex-direction:column}}
