*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#24364a;font:18px/1.5 Arial,Helvetica,sans-serif}a{color:#174b86}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}header{background:white;border-bottom:1px solid #dce5ef;padding:16px max(18px,calc((100vw - 780px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:26px;font-weight:bold;line-height:1.2}.brand img{width:52px;height:52px;border-radius:14px}.brand small{display:block;font-size:14px;font-weight:normal;margin-top:4px}.small{border:0;border-radius:10px;background:#174b86;color:white;padding:11px 14px;min-height:44px;font-size:15px;font-weight:bold}main{max-width:780px;margin:auto;padding:18px 18px 110px}.status{font-size:14px;margin-bottom:14px;color:#41637f}.status.offline{background:#fff0d9;padding:10px;border-radius:8px;color:#744600}.welcome{background:linear-gradient(130deg,#123c6a,#225f9d);border-radius:24px;padding:28px;color:white;box-shadow:0 12px 28px #174b861c}.eyebrow{font-size:12px;letter-spacing:1.6px;color:#d6e5f7}h1{font-size:38px;line-height:1.18;margin:16px 0}h2{font-size:22px;line-height:1.3;color:#174b86;margin:0 0 16px}.welcome p{color:#e0eaf5}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 18px;border-radius:12px;color:white;background:#174b86;text-decoration:none;font-weight:bold}.green{background:#178457}.panel{background:white;border:1px solid #dce5ef;border-radius:18px;padding:22px;margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-title h2{margin:0}.light{background:#eaf1fa;color:#174b86}.event dl{margin:0}.event dt{font-size:13px;color:#617287;margin-top:12px;text-transform:uppercase;letter-spacing:.6px}.event dd{margin:3px 0;font-weight:bold}.event .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.event .details{white-space:pre-line;font-size:16px}.quick-title{margin:26px 0 14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tile{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid #dce5ef;padding:20px;border-radius:18px;text-decoration:none}.tile strong{font-size:19px}.tile small{font-size:15px;color:#627287}.symbol{font-size:28px;color:#174b86}.membership{background:#fff3f1;border-color:#f0d6d0}.membership strong,.membership .symbol{color:#ad2929}.muted{font-size:15px;color:#627287}.staff{display:block;text-align:center;margin:24px 0;font-size:16px;font-weight:bold}footer{text-align:center;font-size:13px;color:#627287}footer a{margin:0 9px}footer p{margin-top:20px}.bottom{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #dce5ef;display:flex;justify-content:space-evenly;padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;min-height:48px;text-decoration:none;font-size:23px}.bottom span{font-size:12px}.bottom [aria-current]{color:#178457}a:focus-visible,button:focus-visible{outline:3px solid #e8a52d;outline-offset:3px}@media(max-width:370px){h1{font-size:32px}.welcome{padding:22px}.tile{padding:15px}.tile strong{font-size:17px}header{padding:12px}.brand{font-size:22px}}
.profile-form{display:grid;gap:16px}.profile-form label{font-weight:bold;color:#174b86}.profile-form input{display:block;width:100%;min-height:52px;margin-top:6px;border:1px solid #9cacc1;border-radius:9px;padding:12px;font:18px Arial}.profile-form button{border:0;font:inherit;font-weight:bold}.profile-actions{display:flex;gap:12px;flex-wrap:wrap}.red{background:#b22a2a;border:0;font:inherit;font-weight:bold}.registration-shell{height:100dvh;display:flex;flex-direction:column}.registration-shell header{flex-shrink:0}.registration-tools{padding:12px 16px;background:#edf4fc;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.registration-tools p{width:100%;font-size:14px;margin:2px 0}.registration-tools>a{font-size:14px}#registration-frame{flex:1;width:100%;min-height:250px;border:0;background:#fff}

/* Public rebrand: accommodate the full organisation name on small screens. */
.brand{min-width:0;white-space:normal;font-size:clamp(17px,3.8vw,24px)}
.brand span{max-width:270px}.brand img{flex-shrink:0}
header>.small,header>a:not(.brand){flex-shrink:0}
@media(max-width:480px){header{padding:12px;gap:10px}.brand{font-size:18px}.brand img{width:42px;height:42px}.brand small{font-size:12px}.bottom a{min-width:56px}}
