/* Shared authentication controls and result states. Loaded after Connect's existing UI. */
body.wd-auth .input-wrap{position:relative!important;border:1px solid #c8dcda!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;transition:border-color .16s ease!important}
body.wd-auth .input-wrap:focus-within{border-color:#c8dcda!important;background:#fff!important;box-shadow:none!important;outline:0!important}
body.wd-auth .input-wrap input{height:52px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#153a42!important;box-shadow:none!important;outline:0!important;font-size:16px!important}
body.wd-auth .input-wrap input:focus,body.wd-auth .input-wrap input:focus-visible{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
body.wd-auth .input-wrap input::placeholder{color:#789092!important;opacity:1!important}
body.wd-auth .toggle-password{display:grid!important;place-items:center!important;right:8px!important;width:38px!important;height:38px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#008f95!important;box-shadow:none!important;outline:0!important}
body.wd-auth .toggle-password:hover{background:#edf7f5!important}
body.wd-auth .toggle-password svg{display:block!important;width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important}
body.wd-auth .auth-field-icon{position:absolute;left:15px;top:50%;width:20px;height:20px;transform:translateY(-50%);stroke:#008f95;pointer-events:none}
body.wd-auth .password-card .input-wrap input{padding:0 48px 0 47px!important}
body.wd-auth .password-card{width:100%!important;max-width:470px!important;border:1px solid #d7e8e7!important;border-radius:28px!important;background:#eff7f6!important;box-shadow:0 24px 70px #10343c55!important;color:#153a42!important;overflow:hidden!important}
body.wd-auth .password-card .card-body{padding:34px!important}
body.wd-auth .password-card .brand-row{margin-bottom:22px!important}
body.wd-auth .password-card h1{color:#153a42!important;font-size:2rem!important}
body.wd-auth .password-card .intro,body.wd-auth .password-card label{color:#647e87!important}
body.wd-auth .password-card .card-accent{height:4px!important;background:#008f95!important}
body.wd-auth .password-card .secure-badge{color:#087579!important;background:#e0f2ee!important;border-color:#b8ddd7!important}
body.wd-auth .password-card .status-icon{margin-inline:auto!important;border-radius:50%!important;box-shadow:none!important}
body.wd-auth .password-card .status-icon.success{position:relative;color:transparent!important;background:#dff4ec!important;border-color:#9ed9c4!important;animation:none!important;transform:none!important}
body.wd-auth .password-card .status-icon.success::before{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#16865f;font-size:29px;font-weight:900}
body.wd-auth .password-card .status-icon.lock{color:#008f95!important;background:#e3f4f2!important;border-color:#b8ddd7!important}
body.wd-auth .password-card .password-alert{color:#923e43!important;background:#fff1f1!important;border-color:#eccaca!important}
body.wd-auth .password-card .password-rules{margin:4px 0 18px!important;padding:0!important;border:0!important;background:transparent!important;color:#647e87!important}
body.wd-auth .password-card .primary-btn{border-radius:15px!important;background:#008f95!important;box-shadow:0 12px 28px rgba(0,143,149,.18)!important}
/* Win over the older high-specificity experience rules on every auth page. */
body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth :is(.input-wrap,.input-group):focus-within{outline:0!important;border-color:#c8dcda!important;box-shadow:none!important}
body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth :is(.input-wrap,.input-group) input:focus,
body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth :is(.input-wrap,.input-group) input:focus-visible{outline:0!important;border-color:transparent!important;box-shadow:none!important}
body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .toggle-password:focus,
body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .toggle-password:focus-visible{outline:0!important;box-shadow:none!important;background:transparent!important}
body.wd-auth .password-card,body.wd-auth .password-card *{animation:none!important;transition:none!important}
body.wd-auth .password-card .brand-row{justify-content:center!important}
body.wd-auth .password-card .brand{justify-content:center!important;margin-inline:auto!important}
body.wd-auth .password-card .brand-copy,body.wd-auth .password-card .secure-badge{display:none!important}
body.wd-auth .password-card .status-icon.success{animation:none!important;transform:none!important}
.password-generate-row{display:none!important}
.password-strength{margin:-4px 0 15px}.password-strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.password-strength-bars i{height:5px;border-radius:999px;background:#dbe7e5;transition:background .18s ease}.password-strength[data-score="1"] i:nth-child(-n+1){background:#d95b64}.password-strength[data-score="2"] i:nth-child(-n+2){background:#e8a33f}.password-strength[data-score="3"] i:nth-child(-n+3){background:#65a96f}.password-strength[data-score="4"] i:nth-child(-n+4){background:#16865f}.password-strength-copy{display:flex;justify-content:space-between;gap:10px;margin-top:7px;color:#647e87;font-size:11px}.password-strength-copy strong{color:#153a42}
@media(max-width:700px){body.wd-auth .password-card{max-width:none!important;border-radius:19px!important}body.wd-auth .password-card .card-body{padding:22px 18px!important}}

/* v29: Login control styling; preserve card dimensions and responsive spacing. */
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .input-wrap{border:1px solid #c8dcda!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .input-wrap::before{content:'';position:absolute;left:50px;top:0;bottom:0;border-right:1px solid #d7e2e3;pointer-events:none}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .input-wrap input{border-radius:0!important;padding-left:62px!important;font-family:inherit!important;font-size:14px!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .input-wrap>.auth-field-icon{position:absolute!important;left:15px!important;top:50%!important;width:20px!important;height:20px!important;min-width:20px!important;padding:0!important;transform:translateY(-50%)!important;stroke:#008f95!important;fill:none!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .toggle-password{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;color:#008f95!important;background:transparent!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .toggle-password svg{position:static!important;transform:none!important;width:20px!important;height:20px!important;padding:0!important;stroke:currentColor!important;fill:none!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .primary-btn{background:#009298!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:6px!important;box-shadow:none!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;letter-spacing:normal!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card .primary-btn:hover{background:#28797e!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card a[href="login.php"]{color:#595959!important;text-decoration:none!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth .password-card label{font-family:inherit!important;font-size:14px!important;font-weight:400!important}

/* v33: position only. Keep all existing card widths and internal spacing. */
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:100vh!important;min-height:100dvh!important;height:auto!important;margin:0!important;overflow-y:auto!important}
html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth>main.page-shell,html body.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-ui.wd-auth>main.password-page{flex:0 0 auto!important;min-height:0!important;height:auto!important;margin-block:auto!important;margin-inline:auto!important}
