.password-shell { position: relative; }
.password-shell input { padding-right: 5.25rem !important; }
.password-shell > .password-toggle { position: absolute !important; right: 1rem !important; top: 50% !important; bottom: auto !important; left: auto !important; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: .55rem .25rem !important; transform: translateY(-50%) !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #d5ac5d !important; font: 700 .68rem/1 sans-serif !important; letter-spacing: .12em !important; cursor: pointer; z-index: 3; }
.password-meter { margin: .65rem 0 1rem; color: #908a7e; }
.password-meter span { display: block; width: 100%; height: 3px; margin-bottom: .5rem; background: linear-gradient(90deg, #7d2620 0 33%, #252823 33%); transition: background .25s ease; }
.password-meter.strength-2 span { background: linear-gradient(90deg, #c69542 0 66%, #252823 66%); }
.password-meter.strength-3 span { background: #5ca66a; }
.password-meter small, .password-match { font: 600 .72rem/1.4 sans-serif; letter-spacing: .04em; }
.password-match { display: block; min-height: 1.2rem; margin: .55rem 0 .75rem; }
.password-match.is-valid { color: #70b87c; }
.password-match.is-invalid { color: #e06c61; }
.top-grid { display: grid; grid-template-columns: minmax(70px,.6fr) minmax(180px,2fr) repeat(3,minmax(90px,1fr)); align-items: center; gap: 1rem; }
.rank-row.top-grid { padding: 1.15rem 1rem; border-top: 1px solid rgba(199,151,66,.18); }
.rank-position { color: #d5ac5d; }
@media (max-width: 760px) {
  .top-grid { grid-template-columns: 54px minmax(120px,1.7fr) 60px; }
  .top-grid > :nth-child(4), .top-grid > :nth-child(5) { display: none; }
}
