/* Registration page — extends login-v17 visual language */
.rv-card { width: min(460px, 100%); }
.rv-optional { color: #94a3b8; font-weight: 500; font-size: .85em; }

.rv-pass-wrap {
  position: relative;
}
.rv-pass-wrap .lv-input {
  padding-inline-end: 4.25rem;
}
.rv-eye {
  position: absolute;
  inset-inline-end: .55rem;
  top: .55rem;
  border: 0;
  background: transparent;
  color: #22d3ee;
  font: inherit;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
  padding: .35rem .45rem;
}
.rv-eye:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: 2px;
  border-radius: .4rem;
}

.rv-strength {
  margin: -.35rem 0 1rem;
}
.rv-strength-bar {
  height: .35rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.25);
  overflow: hidden;
  margin-bottom: .35rem;
}
.rv-strength-bar span {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: #64748b;
  transition: width .2s ease, background .2s ease;
}
.rv-strength.is-weak .rv-strength-bar span { width: 33%; background: #fb7185; }
.rv-strength.is-ok .rv-strength-bar span { width: 66%; background: #fbbf24; }
.rv-strength.is-strong .rv-strength-bar span { width: 100%; background: #34d399; }
.rv-strength-label {
  font-size: .78rem;
  color: #94a3b8;
}

.rv-match {
  margin: -.5rem 0 1rem;
  min-height: 1.1rem;
  font-size: .82rem;
  color: #94a3b8;
}
.rv-match.is-bad { color: #fb7185; }
.rv-match.is-good { color: #34d399; }

.rv-terms {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  margin: 0 0 1.1rem;
  font-size: .9rem;
  color: #cbd5e1;
  cursor: pointer;
}
.rv-terms input {
  margin-top: .2rem;
  accent-color: #22d3ee;
}
.rv-terms a {
  color: #22d3ee;
  text-decoration: none;
}
.rv-terms a:hover { text-decoration: underline; }

[dir="rtl"] .rv-pass-wrap .lv-input {
  padding-inline-end: 4.25rem;
}
