.auth-form[hidden]{display:none!important}
.signup-form{gap:14px;margin-top:-10px}
.signup-progress{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative}
.signup-progress::before{content:"";position:absolute;left:16%;right:16%;top:17px;height:2px;background:#d8e5e2;z-index:0}
.signup-progress li{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;color:#80908a;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.signup-progress li span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf4f2;border:2px solid #d3e0dd;color:#75847e;transition:.18s ease}
.signup-progress li.is-active span{background:#51561d;border-color:#51561d;color:#fff;box-shadow:0 7px 16px rgba(81,86,29,.18)}
.signup-progress li.is-active small{color:#51561d}
.signup-progress li.is-complete span{background:#176b76;border-color:#176b76;color:#fff}
.signup-progress li.is-complete span::after{content:"✓";font-size:15px}
.signup-progress li.is-complete span{font-size:0}
.signup-step{display:grid;gap:15px}
.signup-step[hidden]{display:none!important}
.signup-step-copy{display:grid;gap:4px;padding:13px 15px;background:#f4f8f5;border-radius:13px;border:1px solid #e0e9e4}
.signup-step-copy strong{font-family:Georgia,serif;color:#51561d;font-size:19px}
.signup-step-copy span{font-size:12px;line-height:1.45;color:#63716a}
.signup-step-copy b{color:#176b76;word-break:break-word}
#register-code,#reset-code{text-align:center;font-size:22px;font-weight:800;letter-spacing:.22em;font-variant-numeric:tabular-nums}
.password-field{position:relative;display:block;width:100%}
.password-field input{padding-right:72px!important}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#176b76;font-size:12px;font-weight:850;padding:8px 9px;border-radius:9px;line-height:1}
.password-toggle:hover{background:#e8f3f3}
.password-toggle:focus-visible{outline:2px solid #1686a1;outline-offset:1px}
.login-help-row{display:flex;justify-content:flex-end;margin-top:-9px}
.text-link{border:0;background:transparent;padding:0;color:#176b76;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.text-link:hover{color:#51561d}
body.modal-open{overflow:hidden}
.auth-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(28,45,42,.44);backdrop-filter:blur(7px)}
.auth-modal[hidden]{display:none!important}
.auth-modal-card{position:relative;width:min(480px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:30px;background:#fffdf9;border:1px solid rgba(72,86,78,.14);border-radius:24px;box-shadow:0 30px 80px rgba(26,44,40,.28)}
.auth-modal-small{width:min(420px,100%);text-align:center}
.auth-modal-card h3{margin:7px 0 10px;font-family:Georgia,serif;color:#51561d;font-size:29px;line-height:1.08}
.auth-modal-card .modal-copy,.auth-modal-card>p:not(.eyebrow){margin:0 0 20px;color:#63716a;line-height:1.55;font-size:14px}
.auth-modal-card .auth-form{margin-top:16px}
.auth-modal-card .notice{margin:14px 0}
.auth-modal-small .primary-button{width:100%;margin-top:5px}
.modal-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#e8f4f4;font-size:28px}
.modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#edf5f5;color:#315b62;font-size:24px;line-height:1}
.modal-close:hover{background:#deeeee}
@media(max-width:520px){.signup-form{margin-top:-12px;gap:12px}.signup-progress{margin-bottom:2px}.signup-progress li small{font-size:9px}.signup-progress::before{left:14%;right:14%}.signup-step{gap:13px}.signup-step-copy{padding:11px 12px}.auth-modal{padding:12px}.auth-modal-card{padding:24px 20px;border-radius:20px;max-height:calc(100vh - 24px)}.auth-modal-card h3{font-size:26px}}
