@import url("https://fonts.googleapis.com/css2?family=Abel&display=swap");
.spp-access-page{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:34px 18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#172033;box-sizing:border-box}.spp-access-page *{box-sizing:border-box}.spp-access-shell{width:min(100%,760px);background:#fff;border:1px solid #dce5ee;border-radius:18px;box-shadow:0 18px 55px rgba(20,42,67,.12);padding:30px}.spp-access-brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.spp-access-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex:0 0 56px;border-radius:14px;background:#173f70;color:#fff;font-weight:800;letter-spacing:.08em}.spp-access-product{display:block;font-size:12px;line-height:1.3;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#6a7b8f;margin-bottom:3px}.spp-access-brand h1{font-size:25px;line-height:1.18;color:#172033;margin:0}.spp-access-panel[hidden]{display:none!important}.spp-access-copy{margin-bottom:18px}.spp-access-copy h2{font-size:24px;line-height:1.2;margin:0 0 6px;color:#172033}.spp-access-copy p{margin:0;color:#617287;line-height:1.55}.spp-access-form{display:grid;gap:15px}.spp-access-form fieldset{border:1px solid #dfe7ef;border-radius:12px;padding:16px;margin:0}.spp-access-form legend{padding:0 7px;font-weight:800;color:#30445b}.spp-access-form label{display:grid;gap:6px;font-size:14px;font-weight:700;color:#34465c}.spp-access-form input,.spp-access-form select,.spp-access-form textarea{width:100%;min-height:40px;border:1px solid #c8d4df;border-radius:8px;background:#fff;color:#172033;outline:none;font-family:"Abel",sans-serif!important;padding:5px!important;font-size:17px}.spp-access-form input:focus,.spp-access-form select:focus,.spp-access-form textarea:focus{border-color:#2f6fac;box-shadow:0 0 0 3px rgba(47,111,172,.11)}.spp-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.spp-access-check{display:flex!important;align-items:center;gap:8px!important;font-weight:500!important}.spp-access-check input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;padding:0!important;border-radius:2px!important}.spp-access-button,.spp-access-secondary{width:100%;min-height:45px;border-radius:9px;padding:10px 15px;font-size:15px;font-weight:800;cursor:pointer}.spp-access-button{border:0;background:#173f70;color:#fff}.spp-access-button:hover{filter:brightness(1.06)}.spp-access-button:disabled{opacity:.65;cursor:wait}.spp-access-secondary{border:1px solid #aec1d4;background:#f8fbfe;color:#244d78}.spp-access-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.spp-access-help{display:block;text-align:center;color:#315f91;text-decoration:none;font-weight:650;font-size:14px}.spp-access-link-button{border:0;background:transparent;width:100%;cursor:pointer;margin-top:14px}.spp-access-divider{display:flex;align-items:center;gap:12px;margin:20px 0 13px;color:#8090a2;font-size:13px}.spp-access-divider:before,.spp-access-divider:after{content:"";height:1px;background:#e0e7ee;flex:1}.spp-access-notice,.spp-access-ajax-notice{border-radius:9px;padding:11px 13px;margin:0 0 16px;font-size:14px;line-height:1.45}.spp-access-ajax-notice:empty{display:none}.spp-access-notice.error,.spp-access-ajax-notice.error{background:#fff1f0;border:1px solid #f0c5c1;color:#892d27}.spp-access-notice.success,.spp-access-ajax-notice.success{background:#eefaf1;border:1px solid #c6e7ce;color:#246332}.spp-access-notice.info{background:#f2f7fc;border:1px solid #c9dced;color:#315272}.spp-access-muted{color:#68798c;font-size:14px;line-height:1.5}.spp-access-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.spp-pending-card{text-align:center;padding:10px 3px 3px}.spp-pending-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#eef8f1;color:#267044;font-size:27px;font-weight:800;margin-bottom:10px}.spp-pending-card h2{font-size:24px;margin:0 0 10px}.spp-pending-card p{max-width:590px;margin:8px auto;line-height:1.55}.spp-pending-card .spp-access-button-link{max-width:240px;margin-top:15px}@media(max-width:680px){.spp-access-page{padding:12px;align-items:flex-start}.spp-access-shell{padding:21px 16px;border-radius:14px}.spp-access-grid{grid-template-columns:1fr}.spp-access-brand h1{font-size:21px}.spp-access-form fieldset{padding:13px}}


/* Institutional identity 1.3.39 */
.spp-access-brand img.spp-access-mark{width:78px;height:84px;flex:0 0 78px;object-fit:contain;border-radius:0;background:transparent;padding:0;letter-spacing:normal;box-shadow:none}
@media(max-width:480px){.spp-access-brand img.spp-access-mark{width:63px;height:69px;flex-basis:63px}}

/* SPP 1.3.40 — Institutional form typography */
.spp-access input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]), .spp-access select, .spp-access textarea { font-family: "Abel", sans-serif !important; font-size: 17px !important; padding: 5px !important; }

/* SPP 1.3.41: private access controls */
.spp-access-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),.spp-access-form select,.spp-access-form textarea{font-family:"Abel",sans-serif!important;font-size:17px!important;padding:5px!important}

/* SPP 1.3.57: live password-confirmation status */
.spp-access-page .spp-password-match-status{margin:-5px 0 0;font-size:15px;line-height:1.4;color:#52667b}
.spp-access-page .spp-password-match-status.is-match{color:#176a36;font-weight:700}
.spp-access-page .spp-password-match-status.is-mismatch{color:#aa2730;font-weight:700}
