/* =====================================================================
   Contraseñas claras y mensaje de acceso
   ===================================================================== */
.pwwrap{position:relative;display:block}
.pwwrap input{width:100%;padding-right:46px}
.pweye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);cursor:pointer}
.pweye:hover{background:var(--glass-1);color:var(--ink-1)}
.pweye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pwrules{list-style:none;margin:-2px 0 0;padding:0;display:grid;gap:6px;font-size:13px;color:var(--ink-2)}
.pwrules li{display:flex;align-items:center;gap:8px}
.pwdot{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);flex:none;position:relative}
.pwrules li.touched:not(.ok){color:var(--danger)}
.pwrules li.touched:not(.ok) .pwdot{box-shadow:inset 0 0 0 1.5px var(--danger)}
.pwrules li.ok{color:var(--ink-1)}
.pwrules li.ok .pwdot{background:var(--accent);box-shadow:none}
.pwrules li.ok .pwdot::after{content:"";position:absolute;left:5px;top:2.5px;width:4px;height:8px;border:solid #1E1E1E;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ptpart{padding:14px;border-radius:14px;background:var(--glass-1);box-shadow:inset 0 0 0 1px var(--line);margin-top:12px}
.ptpre{white-space:pre-wrap;margin:10px 0 0;font-family:inherit;max-height:220px;overflow:auto}
