@font-face{font-family:Inter;src:url('/assets/Inter-Regular.ttf') format('truetype');font-display:swap;font-weight:400;font-style:normal}
:root{color-scheme:light;--access-blue:#005695;--access-ink:#082447;--access-muted:#526b88;--access-border:#cbdcfa;--access-bg:#f7fbff;--access-green:#36e79a}
*{box-sizing:border-box}
.access-page,.portal-page{margin:0;font-family:Inter,Arial,sans-serif;color:var(--access-ink);background:var(--access-bg);line-height:1.5}
.access-page{min-height:100vh;padding:clamp(42px,11vh,110px) 20px calc(100px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.access-page a{color:var(--access-blue);text-underline-offset:3px}
.access-page button,.access-page input{font:inherit}
.access-page a:focus-visible,.access-page button:focus-visible,.access-page input:focus-visible,.access-page summary:focus-visible{outline:2px solid #128155;outline-offset:3px}
.access-layout{display:grid;grid-template-columns:minmax(0,400px) minmax(0,330px);justify-content:center;align-items:start;width:100%;max-width:754px;margin:0 auto;gap:24px}
.access-card{min-width:0;background:#fff;border:1px solid var(--access-border);border-radius:9px;box-shadow:0 1px 3px rgb(0 57 112 / 6%);overflow:hidden}
.access-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 14px;min-height:64px;padding:15px 20px;border-bottom:1px solid #edf2fb;background:#fff}
.access-brand{display:inline-flex;min-width:0;color:var(--access-ink)!important;font-size:16px;line-height:1.35;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.header-caption{font-size:10px;color:var(--access-muted)}
.access-card-body{padding:24px 20px 22px}
.access-eyebrow,.context-label{display:block;color:#665119;font-size:11px;font-weight:700;line-height:1.5;margin:0 0 10px}
.access-eyebrow{width:fit-content;max-width:100%;padding:3px 8px;border:1px solid #e7d5a0;border-radius:4px;background:#fff7df}
.access-card h1{margin:0 0 12px;color:var(--access-ink);font-size:22px;line-height:1.3;letter-spacing:-.4px;font-weight:700}
.access-card h2{margin:0 0 15px;color:var(--access-blue);font-size:18px;line-height:1.4;letter-spacing:-.2px}
.access-card-body>section+section{margin-top:27px;padding-top:23px;border-top:1px solid #dce7f8}
.access-lead{font-size:12px;color:var(--access-muted);line-height:1.65;margin:0 0 22px}
.auth-form label{display:block;font-size:12px;font-weight:400;color:var(--access-ink);line-height:1.45;margin:15px 0 5px}
.auth-form label:first-of-type{margin-top:0}
.auth-form input:not([type=hidden]){display:block;width:100%;height:40px;min-width:0;padding:8px 10px;border:1px solid #80b4fb;border-radius:4px;background:#fff;color:var(--access-ink);font-size:13px;line-height:1.4;box-shadow:none}
.auth-form input:not([type=hidden]):focus{border-color:#20b67a;box-shadow:0 2px 6px rgb(6 70 44 / 12%);outline:2px solid #c9f5e2;outline-offset:1px}
.field-hint{font-size:11px;line-height:1.55;color:var(--access-muted);margin:7px 0 0}
.auth-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:4px;background:var(--access-green);color:#064832!important;text-decoration:none;font-family:inherit;font-size:12px;font-weight:700;line-height:1.5;cursor:pointer;box-shadow:none;touch-action:manipulation}
.auth-button:hover{background:#27d88c}
.auth-form>.auth-button{margin-top:18px}
.auth-button-secondary{background:#fff;color:var(--access-blue)!important;border-color:#9ebee8}
.auth-button-secondary:hover{background:#edf3ff}
.auth-button span{font-size:16px;line-height:1}
.login-help{margin-top:18px;color:var(--access-blue);font-size:11px}
.login-help summary{cursor:pointer;width:fit-content;margin:0 auto;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.login-help p{margin:12px 0 0;color:var(--access-muted);font-size:11px;line-height:1.65}
.access-context{min-width:0;margin-top:36px;padding:25px 22px 23px;border:1px solid var(--access-border);border-radius:9px;background:#fff;box-shadow:0 1px 3px rgb(0 57 112 / 4%)}
.context-label{color:#32628f;font-size:10px;font-weight:400;margin-bottom:12px}
.access-context h2{margin:0 0 14px;color:var(--access-ink);font-size:22px;line-height:1.3;letter-spacing:-.35px;font-weight:700}
.access-context>p{font-size:12px;line-height:1.65;color:#375575;margin:0}
.context-points{display:grid;gap:16px;margin-top:23px}
.context-points>div{display:flex;align-items:flex-start;gap:10px}
.point-number{display:inline-grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid #c5dafa;border-radius:4px;background:#edf3ff;color:var(--access-blue);font-size:10px}
.context-points strong{display:block;margin-bottom:3px;color:#173d62;font-size:12px;font-weight:700;line-height:1.4}
.context-points small{display:block;color:var(--access-muted);font-size:11px;line-height:1.55}
.access-context>.context-footnote{margin-top:22px;padding-top:15px;border-top:1px solid #e1eaf7;color:#3d5773;font-size:11px;line-height:1.6}
.access-page .access-footer{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 18px;min-height:38px;margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#005695;color:#fff;font-size:12px;line-height:1.5;text-align:center}
.access-page .access-footer strong,.access-page .access-footer span{max-width:100%;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.form-notice{padding:10px 12px;margin:0 0 18px;border:1px solid;border-radius:4px;font-size:12px;line-height:1.6}
.form-notice.is-error{color:#943d3d;background:#fff4f4;border-color:#f0caca}
.form-notice.is-success{color:#236144;background:#edf8f1;border-color:#bfe2cc}
.form-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.form-two-columns label{margin-top:0}
.setup-callout{padding:12px;margin-top:20px;border:1px solid #d1e0f7;border-radius:4px;background:#f4f8ff;color:#426384;font-size:11px}
.setup-callout strong{color:#234f78;font-size:12px}
.setup-callout p{margin:6px 0 8px;line-height:1.6}
.setup-callout a{font-weight:700}
.below-form{font-size:12px;margin:23px 0 0}
.access-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 17px;width:100%;margin-top:7px;font-size:11px}
.access-nav>a{text-decoration:none}
.inline-form{display:inline;margin:0}
.text-button{padding:0;border:0;background:transparent;color:var(--access-blue);font-size:11px;line-height:1.5;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.access-page-account{padding-top:clamp(28px,6vh,60px)}
.access-page-account .access-layout{grid-template-columns:minmax(0,560px) minmax(0,310px);max-width:894px}
.account-summary{padding:13px 14px;margin:0 0 25px;border:1px solid #cbdcfa;border-radius:4px;background:#edf3ff;font-size:12px}
.account-summary>div{display:grid;grid-template-columns:126px minmax(0,1fr);gap:10px;margin-bottom:7px}
.account-summary>div:last-child{margin-bottom:0}
.account-summary dt{color:#4b6a88}
.account-summary dd{margin:0;overflow-wrap:anywhere;color:#173d62}
.access-unavailable{max-width:580px;margin:12vh auto 40px;padding:28px;background:#fff;border:1px solid #cbdcfa;border-radius:9px;font-family:Inter,Arial,sans-serif;line-height:1.65;color:#294863}
.access-unavailable h1{font-size:24px;line-height:1.35;color:#173b5b;margin:18px 0}
.access-unavailable p{font-size:13px;margin:0 0 20px}
.access-badge{display:inline-block;padding:4px 10px;font-size:11px;border-radius:4px;color:#665119;border:1px solid #e7d5a0;background:#fff7df}
.muted{color:#526b88}
.noscript-logout{margin-top:12px}
@media(max-width:760px){
 .access-page{padding-top:30px}
 .access-layout,.access-page-account .access-layout{grid-template-columns:minmax(0,460px);max-width:460px;gap:20px}
 .access-context{margin-top:0;padding:22px 20px}
 .access-context h2{font-size:21px}
 .context-points{grid-template-columns:1fr 1fr;gap:15px}
 .access-page-account .access-context{margin-top:0}
}
@media(max-width:420px){
 .access-page{padding:20px 14px calc(104px + env(safe-area-inset-bottom,0px))}
 .access-header{padding:14px 16px}
 .access-brand{font-size:15px}
 .access-card-body{padding:20px 16px}
 .access-card h1{font-size:21px}
 .context-points,.form-two-columns{grid-template-columns:1fr}
 .form-two-columns{gap:15px}
 .account-summary>div{grid-template-columns:1fr;gap:2px}
 .access-unavailable{margin:8vh 14px 30px;padding:22px}
 .access-page .access-footer{gap:3px 12px}
}
