
:root{--pink:#ec4f7c;--pink-dark:#cf3765;--ink:#34282b;--muted:#826f75;--line:#efd9df;--soft:#fff4f7}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
body.recovery-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 8%,rgba(255,221,229,.65),transparent 29%),
    radial-gradient(circle at 90% 88%,rgba(240,220,255,.5),transparent 25%),
    #fffaf9;
}
.recovery-shell{width:min(560px,calc(100% - 34px));margin:0 auto;padding:48px 0 70px}
.recovery-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:25px;text-decoration:none}
.recovery-brand strong{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:58px;line-height:.86;color:#ef708c}
.recovery-brand span{margin-top:12px;color:#a37d70;font-family:Georgia,serif;font-size:13px;letter-spacing:.48em}
.recovery-card{
  padding:34px 34px 28px;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 70px rgba(76,45,55,.09);
}
.recovery-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:20px;border-radius:18px;background:var(--soft);font-size:26px;color:var(--pink)}
.recovery-kicker{margin:0 0 9px;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.17em}
.recovery-card h1{margin:0;font-family:Georgia,serif;font-size:38px;line-height:1.03;font-weight:700}
.recovery-copy{margin:14px 0 25px;color:var(--muted);font-size:14px;line-height:1.6}
.recovery-card label{display:block;margin:14px 0 7px;font-size:12px;font-weight:850}
.recovery-card input{
  width:100%;height:52px;padding:0 15px;border:1px solid #ead8de;border-radius:13px;
  outline:0;background:#fff;color:var(--ink);font-size:15px;transition:border-color .16s,box-shadow .16s
}
.recovery-card input:focus{border-color:#ed86a3;box-shadow:0 0 0 4px rgba(236,79,124,.09)}
.recovery-card form>button,#resetSubmit{
  width:100%;min-height:53px;margin-top:19px;border:0;border-radius:14px;
  background:linear-gradient(135deg,#ef4f7b,#cf3766);box-shadow:0 12px 28px rgba(218,55,101,.2);
  color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;cursor:pointer
}
.recovery-card button:disabled{opacity:.58;cursor:wait}
.recovery-message{min-height:18px;margin-top:12px;font-size:12px;line-height:1.45}
.recovery-message.error{color:#b52e52}
.recovery-success{
  display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;
  margin-top:18px;padding:17px;border:1px solid #cdebd9;border-radius:15px;background:#f2fff7
}
.recovery-success>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#dff8e8;color:#1c9e55;font-size:20px;font-weight:900}
.recovery-success strong{display:block;font-size:14px}
.recovery-success p{margin:5px 0 0;color:#668071;font-size:12px;line-height:1.5}
.recovery-back{display:inline-flex;margin-top:20px;color:#a66c7d;font-size:12px;font-weight:800;text-decoration:none}
.recovery-back:hover{color:var(--pink)}
.password-field{position:relative}
.password-field input{padding-right:72px}
.password-field button{
  position:absolute;right:8px;top:7px;height:38px;padding:0 10px;border:0;border-radius:9px;background:#fff1f5;color:#ca416a;font-size:11px;font-weight:800;cursor:pointer
}
.password-rules{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:10px;color:#99868b;font-size:10.5px}
.password-rules span.ok{color:#28965b}
.recovery-checking{padding:14px 15px;border-radius:13px;background:#fff6f8;color:#8f7179;font-size:12px}
@media(max-width:600px){
  .recovery-shell{width:min(100% - 24px,520px);padding:24px 0 46px}
  .recovery-brand strong{font-size:47px}
  .recovery-brand span{font-size:10px;letter-spacing:.42em}
  .recovery-card{padding:25px 19px 22px;border-radius:21px}
  .recovery-card h1{font-size:31px}
  .recovery-copy{font-size:13px}
}

/* V20.14.65: success notice is shown only after a successful reset-mail request. */
.recovery-success[hidden]{display:none!important}
