@font-face { font-family: "DM Sans"; src: url("member-body.woff2") format("woff2"); font-display: swap; font-weight: 100 1000; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; display: grid; align-content: center; justify-items: center; padding: 1.2rem; background: #f9f6ef; color: #0a2145; font: 1rem "DM Sans", system-ui, sans-serif; }
body.account-utility { grid-template-rows: 1fr auto; align-content: stretch; align-items: center; padding: 0; }
.panel { width: min(calc(100% - 2rem), 31rem); margin: 2rem auto; background: white; border: 1px solid #d5deeb; border-top: 5px solid #d81e2b; border-radius: 8px; padding: clamp(1.25rem, 5vw, 2.5rem); box-shadow: 0 16px 48px #0a214515; }
.utility-logo { object-fit: contain; display: block; margin: 0 0 1rem; }
.utility-links { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
a { color: #174792; font-weight: 650; }
h1 { line-height: 1.1; letter-spacing: -.035em; }
form, label { display: grid; gap: .65rem; }
form { gap: 1rem; }
input, button { min-height: 44px; padding: .7rem .8rem; border-radius: 5px; font: inherit; }
input { border: 1px solid #8392a9; width: 100%; }
button { background: #174792; color: white; border: 0; font-weight: 700; cursor: pointer; }
:focus-visible { outline: 3px solid #aa6900; outline-offset: 3px; }
.form-error { border: 1px solid #edccd0; background: #fff2f3; color: #9a1420; padding: .8rem; border-radius: 5px; }
